Duplikate mit der Oracle LISTAGG-Funktion entfernen [duplizieren]
Mögliche Duplikate:
LISTAGG in oracle, um eindeutige Werte zurückzugeben
Ich verwende die Oracle LISTAGG-Funktion, möchte jedoch in meiner Liste der zurückgegebenen Namen eigentlich doppelte Einträge entfernen und nur bestimmte Werte zurückgeben.
Die Abfrage, die ich habe, sieht ungefähr so aus:
select a.id,
a.change_id,
LISTAGG(b.name, ',') WITHIN GROUP (ORDER BY b.name) AS "Product Name",
from table_a a,
table_b b
where a.id = 1
and b.change_id = c.change_id
group by a.id, a.change_id
Im Moment kehrt es zurück (nur ein Datensatz wird angezeigt):
1 1 NameA, NameA, NameB, NameC, NameD, Name D
Was ich zurückgeben möchte, ist:
1 1 NameA, NameB, NameC, Name D