oracle 聚合函数 LISTAGG ,将多行结果合并成一行

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

oracle 聚合函数 LISTAGG ,将多行结果合并成一行

select 

x.*,y.fcloudfieldname
from (

select t1.fid, t1.ffromid ,t1.ffromname,t1.fexplain,t1.fcrmbodyname,
(case when t1.fexplain like 'CRM%' then 'HANSJGCRMToK3Cloud.BLL.'|| t1.ffromid || 'Bll;SaveOrder;' || t1.ffromid ||';' || t1.fcrmsname || ';[Service Agreement.Id]=''1-DLSSRU'';1-DLSSRU'

else  'HANSJGCRMToK3Cloud.OABLL.'|| t1.ffromid || 'Bll;SaveOrder;' || t1.ffromid ||';' || t1.fcrmsname || ';[Service Agreement.Id]=''1-DLSSRU'';1-DLSSRU'

end  
) formateFcrmsnam
,fcrmsname 
FROM HANS_T_CRMCLOUDFIELD  T1
order by t1.fcrmsname, t1.fexplain  

) x
inner join 
(
select t2.fid
,listagg(nvl(to_char(t2.fcloudfieldname),''),' 、 ')  within group(order by t2.fid) as fcloudfieldname
from HANS_T_CRMCLOUDFIELDENTRY t2 
group by t2.fid
) y on x.fid=y.fid


输出:


image.webp

oracle 聚合函数 LISTAGG ,将多行结果合并成一行

select x.*,y.fcloudfieldnamefrom (select t1.fid, t1.ffromid ,t1.ffromname,t1.fexplain,t1.fcrmbodyname,(case when t1.fexplain like ...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息