SELECT nvl(责任单位,'小计') 责任单位, sum(decode(故障,'故障A',1)) 故障A, sum(decode(故障,'故障B',1)) 故障B, sum(decode(故障,'故障C',1)) 故障C, count(1) 小计 FROM 表二 where 责任单位 in (select 责任单位 from 表1 where 是否内部='是') GROUP BY rollup(责任单位)
第二个把where条件去掉即可
SELECT nvl(责任单位,'小计') 责任单位, sum(decode(故障,'故障A',1)) 故障A, sum(decode(故障,'故障B',1)) 故障B, sum(decode(故障,'故障C',1)) 故障C, count(1) 小计 FROM 表二 GROUP BY rollup(责任单位)