butcher747
Goto Top

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:

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

Content-ID: 127091

Url: https://administrator.de/forum/mehrere-daten-aus-einer-spalte-zusammenfuegen-sql-query-127091.html

Ausgedruckt am: 06.04.2025 um 09:04 Uhr

MadMax
MadMax 14.10.2009 um 13:05:09 Uhr
Goto Top
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:

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
Butcher747
Butcher747 14.10.2009 um 13:37:38 Uhr
Goto Top
Besten Dank MadMax

gerade eingespielt - getestet, läuft. *freu*