首页 新闻 会员 周边 捐助

sql读取问题

0
[待解决问题]


列1 列2 列3
1 中国 a
2 usa b
3 英国 c
4 中国 b

读成
列1 列2 列3
1 中国 a,b
2 usa b
3 英国 c

yangyueming的主页 yangyueming | 初学一级 | 园豆:2
提问于:2010-11-22 09:59
< >
分享
所有回答(3)
0

如果是oracle 数据库的话可以这样,至于效率的话......,哥 你懂的

select 列2,ltrim(max(sys_connect_by_path(列3,',')),',') 列3
from (
select 列2,列3,列2||rn child,decode(rn,1,null,列2||(rn-1)) parent
from (
select 列2,列3,row_number() over( partition by 列2 order by 列3) rn
from (
select 1 ,'中国' 列2,'a' 列3
from dual
union
select 2 ,'usa' 列2,'b' 列3
from dual
union
select 5 ,'usa' 列2,'d' 列3
from dual
union
select 3 ,'英国' 列2,'c' 列3
from dual
union
select 4 ,'中国' 列2,'e' 列3
from dual
) a
) b
) c
start
with parent is null
connect
by prior child = parent
group by 列2

 

wgz | 园豆:1254 (小虾三级) | 2010-11-22 14:08
0

这个问题我想是由于你之前提的一个问题未能解决而提出来的吧。现在可以去看看

链接地址

追索 | 园豆:625 (小虾三级) | 2010-11-23 16:49
0

前几天有看过一个"CTE 递归" 解决的就是你的问题

链接地址 http://www.cnblogs.com/aoxiangzhixin/archive/2010/11/24/SQL.html

John29 | 园豆:825 (小虾三级) | 2010-11-29 15:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册