我有表EMP,在RDBMS 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 :(得分: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 。
答案 1 :(得分:0)
我个人更喜欢用户定义的聚合函数,但也有许多其他技术也可以使用。