select f.* ,g.nsjgName, h.XCJZZZZ, h.XCJFZZZ from (select max(t.JGSY_NAMEs) JGSY_NAMEs, max(t.jgsy_gg) jgsy_gg, jgsy_code, sum(t.zcjzs) zcjzs, sum(t.fcjzs) fcjzs, listagg(t.pzwh, ',') within group(order by t.jgsy_code) pzwh, listagg(t.BEIZHU, ',') within group(order by t.jgsy_code) beizhu from s_zsys t where t.BLRESULT = '3' and substr(t.jgsy_code, 0, 6) = '320100' group by jgsy_code order by t.jgsy_code) f left join (select jgsy_parent_code, listagg(jgsy_name, ',') within group(order by gen.jgsy_parent_code) nsjgName from jgsy_common gen where 1 = 1 and gen.jgsy_type = '06' group by jgsy_parent_code) g on g.jgsy_parent_code = f.jgsy_code left join BMLDZS h on h.jgsy_code = f.jgsy_code;
--select * from jgsy_common f where f.jgsy_parent_code='320100-01-10012' and f.jgsy_type='06'
注意用这个函数可以知道那个是统计列【grouping函数】
select max(code) code,case when grouping (code) = 1 then '0' end orders,max(name) name,
grouping