17,377
社区成员
发帖
与我相关
我的任务
分享
with t as
(select 1 as id, 1 as a, null as b ,null as c, null as d , 1 as e from dual union all
select 2,null,null,1,1,1 from dual union all
select 3,1,null,null,null,null from dual union all
select 4,1,null,null,null,null from dual union all
select 5,null,1,null,null,null from dual)
select id,listagg(col,',')within group (order by col) as col from
(select id,col,value from t unpivot (value for col in (a,c,b,d,e)))
where value is not null
group by id
1.列转行;
2.排除空值;
3.行转字符串;
5000个字段,还是写plsql吧;