Elimine duplicatas usando a função Oracle LISTAGG [duplicado]
Duplicata Possível:
LISTAGG no oracle para retornar valores distintos
Eu estou usando a função Oracle LISTAGG, mas dentro da minha lista de nomes retornados eu realmente gostaria de eliminar duplicatas e retornar apenas valores distintos.
A consulta que eu tenho é algo assim:
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
No momento, ele está retornando (mostrando apenas um registro):
1 1 NameA, NameA, NameB, NameC, NameD, Name D
O que eu gostaria de ter retornado é:
1 1 NameA, NameB, NameC, Name D