1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| WITH MaTable AS
(
SELECT 1 AS key_id, 1 AS seq , 'Addidas' AS key_val FROM dual union ALL
SELECT 1 , 2 , 'Nike' FROM dual union ALL
SELECT 1 , 3 , 'Reebok' FROM dual union ALL
SELECT 2 , 1 , 'a' FROM dual union ALL
SELECT 2 , 2 , 'b' FROM dual union ALL
SELECT 2 , 3 , 'c' FROM dual
)
SELECT mt1.key_id,
rtrim(REPLACE(REPLACE(xmlagg(xmlelement("x", MT1.key_val) ORDER BY MT1.seq ASC), '<x>', ''), '</x>', ','), ',') AS agg
FROM MaTable MT1
GROUP BY MT1.key_id
ORDER BY MT1.key_id ASC;
KEY_ID AGG
---------- --------------------
1 Addidas,Nike,Reebok
2 a,b,c |
Partager