0

我在 RDBMS oracle 10g 中有 EMP 表,我想得到如下输出

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

请帮我。

提前谢谢你,对不起我的英语和打字错误。

4

2 回答 2

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

于 2013-08-02T15:17:43.563 回答
0

Tim Hall 有一个页面列出了各种字符串聚合技术

我个人更喜欢用户定义的聚合函数,但还有许多其他技术也可以。

于 2013-08-02T14:51:48.203 回答