您好,匿名用户
随意问技术百科期待您的加入

oracle将多条数据合并成一条

+2 投票

t_table:col1,col2,col3,col4,col5,col6 
其中col1和col2是每条记录都有值的, 
col1    col2     col3    col4    col5     col6 
jack    杰克      a       a1                   c1 
jack    杰克      a                  b2 
jack    杰克      b      a3        b3       c3 
mary    玛丽     c      a4                   c4 
mary    玛丽     d     a5        b5 
mary    玛丽     c      a6       b6       c6 

我想根据col1和col2的唯一决定,来把jack  杰克合成一条记录,mary 玛丽合成一条记录,即: 

col1    col2     col3       col4               col5       col6 
jack    杰克    a,a,b      a1,a3           b2,b3      c1,c3 
mary    玛丽    c,d,c      a4,a5,a6      b5,b6      c4,c6       

请问用Oracle该如何写SQL啊?

用户头像 提问 2013年 1月2日 @ Sejuani 上等兵 (427 威望)
分享到:

1个回答

+1 投票
 
最佳答案

用Oracle自带的wm_concat函数即可实现这样的拼接功能

select  t.col1,t.col2  ,wmsys.wm_concat(t.col3||' ') AS col3 , 
wmsys.wm_concat(t.col4||'') as col4,wmsys.wm_concat(t.col5||'') as col5,wmsys.wm_concat(t.col6||'') as col6 
from tablename t GROUP BY  t.col1,t.col2 ;
用户头像 回复 2013年 1月2日 @ Kyrie 上等兵 (240 威望)
选中 2013年 1月2日 @Saber
提一个问题:

相关问题

0 投票
1 回复 41 阅读
+1 投票
0 回复 22 阅读
用户头像 提问 2012年 12月1日 @ Annie 上等兵 (299 威望)
+3 投票
0 回复 75 阅读
用户头像 提问 2012年 12月7日 @ slsw 列兵 (92 威望)
0 投票
1 回复 28 阅读
用户头像 提问 2013年 12月23日 @ Darius 上等兵 (331 威望)
0 投票
0 回复 10 阅读
用户头像 提问 2014年 4月3日 @ Draven 上等兵 (325 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...