Я пишу инструкцию ORACLE select с LISTAGG. Он работает, но когда я проверял данные, я видел дубликаты вроде 1: 1,1: 1,2: 2,2: 2.Oracle LISTAGG case возвращает отдельные значения
Я подтвердил, что база данных имеет дубликат. Запрос предназначен для двух таблиц в отношениях от одного до многих. Ниже приведен фрагмент моего запроса, но я изменил имена столбцов и т. Д.
Как я могу изменить следующий запрос, чтобы возвращать уникальные значения для каждого человека?
Благодаря
SELECT Table1.PERSON_ID,
Table1.FIRST_NAME,
Table1.MIDDLE_NAME,
Table1.LAST_NAME,
LISTAGG(case
when Table2.DESCRIPTION = '1' then '1:1'
when Table2.DESCRIPTION = '2' then '2:2'
when Table2.DESCRIPTION = '3' then '3:3'
when Table2.DESCRIPTION = '4' then '4:4'
when Table2.DESCRIPTION = '5' then '5:5'
when Table2.DESCRIPTION = '6' then '6:6'
when Table2.DESCRIPTION = '7' then '7:7'
when Table2.DESCRIPTION = '8' then '8:8'
when Table2.DESCRIPTION = '9' then '9:9'
else ''
end, ',')
WITHIN GROUP (ORDER BY Table2.DESCRIPTION)
FROM Table1
LEFT JOIN Table2
ON Table2.PERSON_ID = Table1.PERSON_ID
GROUP BY Table1.PERSON_ID,Table1.FIRST_NAME,Table1.MIDDLE_NAME, Table1.LAST_NAME
Спасибо, mathguy, ваш ответ сработал !!!! – John