Mehrere Zeilen in eine Spalte bringen.

10/01/2008 - 14:45 von Jan Löhndorf | Report spam
Moin!
Der Betreff ist evtl. nicht so glücklich gewàhlt, aber mir fiel nichts
besseres ein.

Ich habe 2 Tabellen. Die eine enthàlt z.B. die Kundennummer, die andere
als 1:n Beziehung (wobei n 0 sein darf) z.B. die Telefonnummer.

Tabelle1
[Nr] [Name]
1 Meier
2 Schulze
3 Schmidt
4 Schröder
5 Müller

Tabelle2
[Nr] [Telefon]
1 +49(0)57857758
1 +4393475422
2 +491723849
5 +493423235903
5 +4435346457645
5 +49171278923

Ich möchte jetzt eine Sicht bauen, die folgendes Zurückgibt:
1 Meier +49(0)57857758|+4393475422
2 Schulze +491723849
3 Schmidt
4 Schröder
5 Müller +493423235903|+4435346457645|+49171278923

Dass folgendes funktioniert weiß ich, aber wie bekomme ich das sozusagen
"inline" in die Abfrage?

DECLARE @text char(1000)
SET @text =''
select @text =RTRIM( @text) + RTRIM(Telefon)+'|' FROM Tabelle2 WHERE Nr = 5

Danach steht in @text: '+493423235903|+4435346457645|+49171278923'


Hat jemand eine Idee?


Gruß und Danke,
Jan
 

Lesen sie die antworten

#1 Stefan Hoffmann
10/01/2008 - 15:17 | Warnen spam
hallo Jan,

Jan Löhndorf schrieb:
Dass folgendes funktioniert weiß ich, aber wie bekomme ich das sozusagen
"inline" in die Abfrage?


Mach daraus eine UDF, welche als Parameter [Nr] bekommt und gibt dein
CHAR(1000) zurück (Warum kein VARCHAR?).


mfG

Ähnliche fragen