Ich habe zwei Tabellen, nennen wir sie PERSON und NAME.
PERSON
person_id
dob
NAME
name_id
person_id
name
Und nehmen wir an, die Tabelle NAME enthält Daten wie:
name_id person_id name
1 1 Joe
2 1 Fred
3 1 Sam
4 2 Jane
5 2 Kim
Ich brauche eine Abfrage (Oracle 10g), die Folgendes zurückgibt
name_id names
1 Joe, Fred, Sam
2 Jane, Kim
Gibt es eine einfache Möglichkeit, dies zu tun?
Aktualisierung:
Laut dem Artikel, den figs freundlicherweise zur Verfügung gestellt hat, können Sie dies ab 9i tun:
SELECT wmsys.wm_concat(dname) departments FROM dept;
Für dieses Beispiel lautet die Antwort:
SELECT name_id, wmsys.wm_concat(name) from names group by name_id
0 Stimmen
Sie finden vielleicht dieser Artikel hilfreich zu sein.
0 Stimmen
Meinen Sie nicht person_id in diesem Abfrageergebnis?
0 Stimmen
Vorsicht! Der Ausgabetyp von wm_concat() wurde in den letzten Patches von varchar auf lob geändert. Die Rückwandlung in char funktioniert jedoch.
0 Stimmen
Werfen Sie einen Blick auf williamrobertson.net/documents/one-row.html