Łącz i grupuj wiele wierszy w Oracle [duplikat]

Możliwy duplikat:
jak pobrać dwie kolumny danych w formacie A, B w Oracle

Załóżmy, że mam taką tabelę:

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

Chciałbym uzyskać taki wynik:

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

Gdyby w tabeli była tylko jedna kolumna, mógłbym połączyć rekordy, wykonując następujące czynności, ale z grupowaniem w kontekście naprawdę nie mam zbyt dużego pojęcia.

Łączenie jednej tabeli kolumn:

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 
Zaktualizowano:

Teraz mam rozwiązanie za pomocąLISTAGG:

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

Wciąż zainteresowany bardziej „ogólnym” rozwiązaniem dla przypadków, gdyLISTAGG jest niedostępne.

questionAnswers(1)

yourAnswerToTheQuestion