Я много часов пытался решить эту проблему, мои данные (ONHAND NUM, PO) продолжают показывать повторяющиеся данные, см. Мой код, как показано ниже.Кстати, если я удалю следующий код, то мои ONHAND NUM & PO больше не будут дублироваться, поэтому я считаю, что в этом коде что-то не так.Пожалуйста помогите.Спасибо.
select
listagg(OH.ONHAND_REF,', ')within group(order by ES.SHPMNT_REF) as "Onhand Num",
listagg(PO.PO_ALL_TRACES,', ')within group(order by PO.PO_ALL_TRACES) as "PO"
from BRDB.EXPORT_SHIPMENT ES
left outer join EXPORT_ONHAND OH on ES.SHPMNT_REF = OH.SHPMNT_REF
left outer join VW_EXPORT_TRACE_PO PO on PO.FILE_NO = OH.ONHAND_REF
left outer join EXPORT_SHPMNT_CTNR CTNR on CTNR.SHPMNT_REF = ES.SHPMNT_REF
group by ES.SHPMNT_REF
Если я удалю следующий код, мои данные будут выглядеть нормально без дублирования
left outer join BRDB.EXPORT_SHPMNT_CTNR CTNR on CTNR.SHPMNT_REF = ES.SHPMNT_REF
Результат, который я получил, как показано ниже
Onhand Num PO
555,555,555 P0001,P0001,P0001
666,777,666,777 P0002,P0003,P0002,P0003
результат я хочу
Onhand Num PO
555 P0001
666,777 P0002,P0003