Ergebnisse kombinieren
bm
- datenbank
0 dey0 Vinzenz Mai
Hallo!
Folgendes Szenario:
select liefernr from auftrag where rechnungsnr=xy
Es werden mehrere liefernr ausgegeben, d.h. mehrere rows
Gibt es eine Möglichkeit alle liefernrn zu kombinieren und in einer Zeile auszugeben (liefernr, liefernr, liefernr, ..)
thx
Hallo,
select liefernr from auftrag where rechnungsnr=xy
1. Welche Skriptsprache benutzt du?
2. Select selber gibt die Daten nicht aus, sondern holt sie nur. Die Ausgabe musst du ja erst definieren.
bydey
hi
also ich will die ausgabe nicht mit einer scriptsprache verarbeiten, sondern direkt in dem format ausgeben in dem ich es brauch (oracle sql).
Hallo,
select liefernr from auftrag where rechnungsnr=xy
Welche Skriptsprache benutzt du?
Select selber gibt die Daten nicht aus, sondern holt sie nur. Die Ausgabe musst du ja erst definieren.
bydey
Hallo,
ich weiss ja nicht wozu das gut sein soll, aber afaik irgendwie so:
select concat(select liefernummer from irgendwas,"") as alle_liefernummern from dual;
ich bin mir aber über den syntax von concat nicht sicher, da ich es schon lange nicht mehr benutzt habe und zu faul bin zu googlen.
gruss
Hallo,
hi
also ich will die ausgabe nicht mit einer scriptsprache verarbeiten, sondern direkt in dem format ausgeben in dem ich es brauch (oracle sql).
Wo führst du dein select aus sql-plus? Irgendwo must du es ja ausführen und dort erscheint die Ausgabe!
bydey
Hallo
Folgendes Szenario:
select liefernr from auftrag where rechnungsnr=xy
Es werden mehrere liefernr ausgegeben, d.h. mehrere rows
Gibt es eine Möglichkeit alle liefernrn zu kombinieren und in einer Zeile auszugeben (liefernr, liefernr, liefernr, ..)
Du möchtest also nach der Rechnungsnummer gruppieren, d.h. die GROUP BY-Klausel verwenden, für nicht gruppierte Spalten musst Du also eine Aggregatfunktion verwenden. Welche zur Verfügung stehen, ist vom verwendeten Datenbankmanagementsystem abhängig, das Du uns leider verschwiegen hast.
MySQL verfügt z.B. über eine entsprechende Funktion, wie Du im Handbuch nachlesen kannst.
Freundliche Grüße
Vinzenz