欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle数据合并有关问题~

更新时间: 2014-01-05 02:14:11 责任编辑: Author_N1

 

Oracle数据合并问题~~~
请问下,infocode字段重复了,然后把columnname,columncode这两个字段的值合并为成一条记录。

最后结果:001002007001003,001002007001007001 


各位,大神帮帮忙~
--参考方法--
不要用wm_concat了,12c已经被干掉了。用listagg
--参考方法--
数据:
SQL> select * from test1;
 
         A          B          C
---------- ---------- ----------
         1          2          4
         1          3          4
         2          3          4
         3          3          4
         1          5          4
         1          2          3
         2          2          3

SELECT A.A,
       ltrim(MAX(REPLACE(SYS_CONNECT_BY_PATH(B, '—'), '—', ',')),','),
       ltrim(MAX(REPLACE(SYS_CONNECT_BY_PATH(C, '—'), '—', ',')),',')
  FROM (SELECT T.*, ROW_NUMBER() OVER(PARTITION BY A ORDER BY B) AS RN
          FROM TEST1 T) A
 START WITH RN = 1
CONNECT BY PRIOR RN = RN - 1
       AND PRIOR A = A
 GROUP BY A;

结果:
1 2,2,3,5  4,3,4,4
2 2,3  3,4
3 3  4
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:11
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7321/
本文WWW.DOC100.NET DOC100.NET版权所有。