假設需要合併EMP表中相同JOB人員的ENAME與MGR字段;
SELECT E.JOB,E.ENAME,E.MGR FROM EMP E;
1.可以使用WM_CONCAT函數來實現:
SELECT E.JOB,WMSYS.WM_CONCAT(E.ENAME),WMSYS.WM_CONCAT(E.MGR) FROM EMP E GROUP BY E.JOB;
2.也可以使用LISTAGG() WITHIN GROUP ()函數來實現:
SELECT E.JOB,
LISTAGG(E.ENAME, ',') WITHIN GROUP(ORDER BY JOB) AS ENAME,
LISTAGG(E.MGR, ',') WITHIN GROUP(ORDER BY JOB) AS MGR
FROM EMP E
GROUP BY JOB;
注意:ORACLE12C中不能使用WM_CONCAT函數。