#XMLAGG関数
・複数レコードの値を1レコードにまとめる、LISTAGG関数とXMLAGG関数があります。
・LISTAGG関数を用いる際に4000バイト文字を超える恐れがある場合は、XMLAGG関数を使用。
・ポイントは、下記SQLの「ORDER BY COL23」です。 綺麗に連結できます。
SELECT COL1,
RTRIM(XMLAGG(XMLELEMENT(e,COL23,'|').EXTRACT('//text()') ORDER BY COL23 ).GetClobVal(),'|') AS COL23
FROM
(
SELECT
DISTINCT
TBL1.COL1
, TO_CHAR(TBL2.COL3, '99999') || '(' || TBL2.COL3 || ')' AS COL23
FROM
TBL1
LEFT JOIN TBL2 ON TBL1.COL1 = TBL2.COL1
)
GROUP BY COL1