私のテーブルには1人あたり複数の値がありますが、これは1つの行にまとめようとしています。クエリは次のとおりです。Oracle SQL - 値を1つの行に結合する
select TABLE.ID,
TABLE.NAME,
listagg(TABLE.HOLD, ',') within group (order by TABLE.HOLD) as hold_codes
from TABLE
where TABLE.ACTIVE_HOLD_IND ='Y'
and TABLE.HOLD in('S2', 'S3', 'CO', 'WO', 'PP')
group by
TABLE.ID,
TABLE.NAME,
TABLE.HOLD
order by 2
ID |NAME |HOLD_CODES
_____________________________
111 |Tom |S2
222 |Jerry |CO
222 |Jerry |S2
333 |Olive |S2,S2
444 |Popeye |CO
444 |Popeye |PP
444 |Popeye |S2
555 |Homer |S2,S2
666 |Marge |S2
私は各行を1行にまとめようとしています。今のところ、クエリは重複行だけを取得します。
何か提案がありがとうございます。