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-Key: 127091

Url: https://administrator.de/contentid/127091

Printed on: April 19, 2024 at 16:04 o'clock

Member: MadMax
MadMax Oct 14, 2009 at 11:05:09 (UTC)
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
Member: Butcher747
Butcher747 Oct 14, 2009 at 11:37:38 (UTC)
Goto Top
Besten Dank MadMax

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