统计两个表。表结构差不多一样。但数据不一样。
我只能用UNION。但是没个表有一条记录。这样就产生了两条记录。
一个是住院表。一个是门诊表。
select --i.diagnosis as id,
(select diagnosis_name from TB_DIAGNOSIS_DICT where diagnosis_code=i.diagnosis) as jbmc,
i.diagnosis as jbdm,sum(i.total_costs) as zlzfy,
sum(i.redeemable_sum) as kbczfy,sum(i.first_trial_sum) as hsbczfy,sum(i.fact_redeem_sum) as sjbczfy,
0 as mzcs,count(i.diagnosis) as zycs,0 as fbzcs
from tb_inp_redeem i--,TB_DIAGNOSIS_DICT tb
where i.end_date>=to_date('2007-1-1','yyyy-mm-dd') 
and i.end_date<=to_date('2007-1-24','yyyy-mm-dd')-- and tb.diagnosis_code=i.diagnosis
group by i.diagnosis
union
select --o.diagnosis as id,
(select diagnosis_name from TB_DIAGNOSIS_DICT where diagnosis_code=o.diagnosis) as jbmc,
o.diagnosis as jbdm,sum(o.total_costs) as zlzfy,
sum(o.redeemable_sum) as kbczfy,0 as hsbczfy,sum(o.fact_redeem_sum) as sjbczfy,
count(o.diagnosis) as mzcs,0 as zycs,0 as fbzcs
from tb_outp_redeem o--,TB_DIAGNOSIS_DICT tb
where o.treat_date>=to_date('2007-1-1','yyyy-mm-dd') 
and o.treat_date<=to_date('2007-1-24','yyyy-mm-dd') --and tb.diagnosis_code=o.diagnosis
group by o.diagnosis