mehrere Daten aus einer Spalte zusammenfügen - SQL Query
Hallo Zusammen,
ich beiß mir gerade die Zähne an einem einfachen SQL -Query aus.
Folgende Vorraussetzung:
DB - Server : MSSQL - Server 2005
Diese Tabelle, ich nenn sie mal " Vertrieb" steht mir zu verfügung:
Was ich jetzt erreichen will ist folgende Ausgabe:
Leider finde ich keinen SQL - Befehl der dies Möglich macht.
Kann mir irgendein findiger Admin helfen.
schon mal Danke im Vorraus
Stephan
ich beiß mir gerade die Zähne an einem einfachen SQL -Query aus.
Folgende Vorraussetzung:
DB - Server : MSSQL - Server 2005
Diese Tabelle, ich nenn sie mal " Vertrieb" steht mir zu verfügung:
ID | Info |
---|---|
11 | A |
11 | B |
12 | C |
13 | D |
13 | E |
13 | F |
13 | G |
Was ich jetzt erreichen will ist folgende Ausgabe:
ID | Info |
---|---|
11 | A, B |
12 | C, D |
13 | D, E, F, G |
Leider finde ich keinen SQL - Befehl der dies Möglich macht.
Kann mir irgendein findiger Admin helfen.
schon mal Danke im Vorraus
Stephan
Please also mark the comments that contributed to the solution of the article
Content-Key: 127091
Url: https://administrator.de/contentid/127091
Printed on: April 19, 2024 at 16:04 o'clock
2 Comments
Latest comment
Hallo Stephan,
einen SQL-Befehl dafür gibt es auch nicht, da braucht man ein kleines Progrämmchen. Bei mir würde das dann in etwa so aussehen:
Gruß, Mad Max
einen SQL-Befehl dafür gibt es auch nicht, da braucht man ein kleines Progrämmchen. Bei mir würde das dann in etwa so aussehen:
declare @ID int, @Info varchar (max)
declare @Ergebnis table (ID int, Info varchar (max))
declare c1 cursor for select distinct ID from Vertrieb order by ID
open c1
fetch next from c1 into @ID
while @@fetch_status = 0
begin
select @Info = ''
select @Info = @Info + case when @Info = '' or IsNull (Info, '') = '' then '' else ', ' end + Info
from Vertrieb
where ID = @ID
order by Info
insert into @Ergebnis (ID, Info) values (@ID, @Info)
fetch next from c1 into @ID
end
close c1
deallocate c1
select * from @Ergebnis
Gruß, Mad Max