Bonjour a tous,
Je pratique le sql depuis peu et j'ai un besoin un peu particulier.![]()
Je m'explique, j'ai une table comme ceci
TableA
Col1 Col2
A A1
A A2
A A3
A A4
A A5
A A6
A A7
B B1
B B2
B B3
... ....
et j'aimerais arriver a ce résultat:
A
A1/A2/A3/A4/A5
A6/A7
B
B1/B2/B3/...
En gros je dois regrouper les elements de ma colonne 2 en fonction de ma colonne 1: ca je sais faire en utilisant cette fonction:
/*----------------------------*/
SET NOCOUNT ON
DECLARE
@cur_titre char(5),
@cur_row char(5)
DECLARE cur_titre CURSOR FOR
SELECT DISTINCT(col1)
from dbo.TableA
OPEN cur_titre
FETCH cur_titre INTO @cur_titre
WHILE @@FETCH_STATUS=0
BEGIN
PRINT @cur_titre
DECLARE cur_row CURSOR FOR
SELECT col2 FROM dbo.TableA
where col1 = @cur_titre
OPEN cur_row
FETCH NEXT FROM cur_row INTO @cur_row
WHILE @@FETCH_STATUS=0
BEGIN
PRINT @cur_row
FETCH NEXT FROM cur_row INTO @cur_row
END
CLOSE cur_row
DEALLOCATE cur_row
FETCH NEXT FROM cur_titre into @cur_titre
END
CLOSE cur_titre
DEALLOCATE cur_titre
/*---------------------*/
Mais je dois aussi afficher seulement cinq enregistrement par ligne séparés par des /. Et ca malheuresement je sais pas faire...![]()
J'espere que vous pourrez m'aider.
Merci par avance.
Nono
Partager