2013-08-02 77 views
0

我有EMP表,在關係型數據庫Oracle 10g中,我想獲得如下輸出在Oracle 10g中將多行中的單列連接成由','分隔的單列?

EMPNO ENAME  Concat_column 

7369 SMITH  SMITH,ALLEN,WARD,JONES,MARTIN,BLAKE,CLARK,SCOTT,KING,TURNER,ADAMS,JAMES,FORD,MILLER 
7499 ALLEN 
7521 WARD 
7566 JONES 
7654 MARTIN 
7698 BLAKE 
7782 CLARK 
7788 SCOTT 
7839 KING 
7844 TURNER 
7876 ADAMS 
7900 JAMES 
7902 FORD 
7934 MILLER 

請幫助我。

預先感謝您,對不起我的英文和輸入錯誤。

回答

0

蒂姆霍爾有一個頁面,列出了各種string aggregation techniques

我個人更喜歡用戶定義的聚合函數,但也有一些其他技術也適用。

1

嘗試用此查詢,也許將是有益的:

SELECT rtrim (xmlagg (xmlelement (e, y.NAME || ',')).extract ('//text()'), ',') Concat_column 
FROM EMP y 

你可以試試這個位置(SQL Fiddle)。

第二個版本,也許這正是你想要的

SELECT a.EMPNO, a.NAME, b.Concat_column 
FROM EMP a 
LEFT JOIN (
    SELECT 
    7369 AS EMPNO, 
    'SMITH' AS NAME, 
    rtrim (xmlagg (xmlelement (e, y.NAME || ',')).extract ('//text()'), ',') AS Concat_column 
    FROM EMP y 
) b ON a.EMPNO = b.EMPNO 

鏈接SQL Fiddle

相關問題