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

questionAnswers(1)

yourAnswerToTheQuestion