首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle列转行,以逗号分隔,并且数据是根据2个字段分组!解决方案

2012-04-16 
oracle列转行,以逗号分隔,并且数据是根据2个字段分组!oracle列转行,以逗号分隔,并且数据是要分组的! 这个

oracle列转行,以逗号分隔,并且数据是根据2个字段分组!
oracle列转行,以逗号分隔,并且数据是要分组的! 这个研究了一天了,简单的,不分组或者根据一个字段分组的是没有问题的,但是问题是要根据两个字段分组,试了好长时间数据总是不正确,so~ 只能来求助了!

主表结构A:eid 表计id,beid 设备id,
附表B:beid 设备id,bid 建筑物id
两个表left join值为:
eid beid bid
201 1 1
201 2 4
201 5 4
201 6 4 
201 3 15
201 4 28
202 10 1
202 11 1
202 12 15

要求查询出来的格式为:
eid beid bid
201 1 1
201 2,5,6 4  
201 3 15
201 4 28
202 10,11 1
202 12 15

[解决办法]

eid beid bid
select eid,wm_concat(a.beid) beid,bid from a left join b on a.beid=b.beid group by eid,bid
union 
select eid,a.beid beid,wm_concat(bid) from a left join b on a.beid=b.beid group by eid,bid
[解决办法]

SQL code
select a.eid,wm_concat(a.beid) beid,b.bid from a left join b on a.beid=b.beid group by a.eid,b.bid; 

热点排行