Elimine duplicados usando la función Oracle LISTAGG [duplicado]

Posible duplicado:
LISTAGG en oracle para devolver valores distintos

Estoy usando la función Oracle LISTAGG pero dentro de mi lista de nombres devueltos me gustaría eliminar duplicados y solo devolver valores distintos.

La consulta que tengo es algo como esto:

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

En este momento, está regresando (solo muestra un registro):

1    1   NameA, NameA, NameB, NameC, NameD, Name D

Lo que me gustaría devolver es:

1    1   NameA, NameB, NameC, Name D

Respuestas a la pregunta(1)

Su respuesta a la pregunta