现在的位置: 首页 > 综合 > 正文

cookbook 14.13 从Oracle创建CSV格式输出 connect by 语句解法

2013年10月08日 ⁄ 综合 ⁄ 共 387字 ⁄ 字号 评论关闭

SELECT DEPTNO, LTRIM(SYS_CONNECT_BY_PATH(ENAME, ','), ',') AS P
  FROM (SELECT DEPTNO,
               ENAME,
               ROW_NUMBER() OVER(PARTITION BY DEPTNO ORDER BY EMPNO) AS SN,
               COUNT(*) OVER(PARTITION BY DEPTNO) AS CT
          FROM SCOTT.EMP)
 WHERE SN = CT
 START WITH SN = 1
CONNECT BY PRIOR DEPTNO = DEPTNO
       AND PRIOR SN = SN - 1

DEPTNO P
------ ----------------------------------------
    10 CLARK,KING,MILLER
    20 SMITH,JONES,SCOTT,ADAMS,FORD
    30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES

抱歉!评论已关闭.