Wenn bei einer SQL-Abfrage mehrere Datensätze herauskommen, man das Ergebnis aber in einer einzigen Zeile ausgeben möchte, dann benötigt man eine spezielle Funktion aus dem ORACLE-Fundus.
(Beispiel: der Person X gehören viele Flurstücke und in einer Auswertung sollen diese mit Komma getrennt in einer Zeile gelistet werden).

LISTAGG

Für das obige Beispiel würde es wie folgt aussehen:

SELECT personen.name, personen.vorname, personen.adresse,
LISTAGG(flurstuecke.flst_nr, ',') WITHIN GROUP (ORDER BY flurstuecke.flst_nr) "Flurstücke"
FROM personen, flurstuecke
WHERE flurstuecke.fid_eigentuemer = personen.fid
GROUP BY personen.name, personen.vorname, personen.adresse;

Die Dokumentation zur Funktion gibt es hier: https://docs.oracle.com/cd/E11882_01/server.112/e41084/functions089.htm#SQLRF30030

Gorden Kock
Author: Gorden Kock