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