`

oracle 多行数据 转为 一行数据,用逗号分隔

 
阅读更多

oracle 多行数据 转为 一行数据,用逗号分隔

有时候我们需要将多行数据转为一行,多个数值用逗号分隔,其实很简单,只需要一个oracle 提供的函数即可, wm_concat() 函数 即可实现该功能

 

普通查询代码如下:

select crm.d_ringname,czm.d_zonename,cc.d_circuitname 
from c_ringsdetailreference cr ,c_rins_manager crm ,c_circuit cc,c_zone_manage czm
 where crm.d_ringid=cr.d_ringid and cr.d_circuitid=cc.d_circuitid
 and czm.d_zoneid = crm.d_zoneid and czm.d_zoneid=195014

 效果如下:


 

要想达到一行,用逗号隔开的效果,需要用到 wm_concat() 函数,代码如下:

select  crm.d_ringname,czm.d_zonename as 所属单位,
count(cr.d_circuitid) as 馈线数量, wm_concat(cc.d_circuitname) as 馈线列表,
wm_concat(cc.d_circuitid) 馈线FID 
from c_rins_manager crm,c_ringsdetailreference cr ,c_circuit cc,c_zone_manage czm
where crm.d_ringid = cr.d_ringid and cr.d_circuitid = cc.d_circuitid
and czm.d_zoneid=crm.d_zoneid
--and crm.d_ringname = cr.d_ringname
and czm.d_zoneid=195014
group by (crm.d_ringname,czm.d_zonename);

 

效果如下:



 

 

 

  • 大小: 6.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics