1. 程式人生 > >列轉行函數使用SQL

列轉行函數使用SQL

列轉行

select down.downparaversionid || ‘|‘ || e.unionno,

down.downparaversion,

e.unionno,

listagg(o.organname, ‘,‘) within group(order by e.organno) a1,

listagg(case

when e.yctorganno is null then

‘‘

when e.yctorganno = ‘null‘ then

‘‘

else

e.yctorganno

end,

‘,‘) within group(order by e.organno) a2,

e.defineid,

to_char(e.definedate, ‘yyyy-mm-dd‘),

e.auditid,

to_char(e.auditdate, ‘yyyy-mm-dd‘),

e.auditstatus

from tb_empcardunion e, tb_downparaversion down, tb_organ o

where e.downparaversionid = down.downparaversionid

and e.organno = o.organno

group by down.downparaversionid,

down.downparaversion,

e.unionno,

e.defineid,

to_char(e.definedate, ‘yyyy-mm-dd‘),

e.auditid,

to_char(e.auditdate, ‘yyyy-mm-dd‘),

e.auditstatus

列轉行函數使用SQL