ORACLE中多條數據合併某個字段

假設需要合併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函數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章