Mehrere Zeilen in Oracle verketten und gruppieren [duplizieren]

Mögliche Duplikate:
Abrufen von zwei Spaltendaten im A- und B-Format in Oracle

Angenommen, ich habe eine Tabelle wie diese:

NAME          GROUP_NAME
name1         groupA
name2         groupB
name5         groupC
name4         groupA
name3         groupC

Ich hätte gerne ein Ergebnis wie das folgende:

GROUP_NAME     NAMES
groupA         name1,name4
groupB         name2
groupC         name3,name5

Wenn es nur eine Spalte in der Tabelle gäbe, könnte ich die Datensätze folgendermaßen verketten, aber mit der Gruppierung im Kontext habe ich wirklich keine Ahnung.

Verketten einer Spaltentabelle:

SELECT names 
FROM (SELECT SYS_CONNECT_BY_PATH(names,' ') names, level
      FROM name_table

      START WITH names = (SELECT names FROM name_table WHERE rownum = 1)
      CONNECT BY PRIOR names < names
      ORDER BY level DESC)
      WHERE rownum = 1 
Aktualisierte:

Ich habe jetzt eine Lösung mitLISTAGG:

SELECT
group_name,
LISTAGG(name, ', ')
WITHIN GROUP (ORDER BY GROUP) "names"
FROM name_table
GROUP BY group_name

Immer noch interessiert an einer "allgemeineren" Lösung für Fälle, in denenLISTAGG ist nicht verfügbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage