横向连接字段(SQL文)

来源:互联网 发布:python经典入门书籍 编辑:程序博客网 时间:2024/06/05 06:18

SELECT JIDOUKEKANRI_NO,
       LTRIM(MAX(SYS_CONNECT_BY_PATH(KANSIAREA_CD, '_'))
             KEEP(DENSE_RANK LAST ORDER BY curr),
             '_') AS AREA_CD
  FROM (SELECT CD.JIDOUKEKANRI_NO,
               CD.KANSIAREA_CD,
               ROW_NUMBER() OVER(PARTITION BY CD.JIDOUKEKANRI_NO ORDER BY CD.KANSIAREA_CD) AS curr,
               ROW_NUMBER() OVER(PARTITION BY CD.JIDOUKEKANRI_NO ORDER BY CD.KANSIAREA_CD) - 1 AS prev
          FROM JIDOUKEKANRI CD)
 GROUP BY JIDOUKEKANRI_NO
CONNECT BY prev = PRIOR curr
       AND JIDOUKEKANRI_NO = PRIOR JIDOUKEKANRI_NO
 START WITH curr = 1

 

JIDOUKEKANRI_NOKANSIAREA_CD1a1b2c2d3e

 结果

JIDOUKEKANRI_NOKANSIAREA_CD1a_b2c_d3e