第一句:
select ht.gfdm,gfdm.gfmc,gfdm.lb ,sum(jh.htdj*jh.htsl)as je
from ht left join gfdm on ht.gfdm=gfdm.gfdm
join jh on ht.htbh=jh.hth
and ht.htbh not like'del%' and ht.ht_xy_flag='ht'
and ht.lkc_flag=0 and jh.hth<>'cancel' and jh.id=ph
and ht.qdrq between '2008-01-01' and '2008-12-31'
group by ht.gfdm ,gfdm.gfmc,gfdm.lb order by je desc
第二句:
select ht.gfdm,gfdm.gfmc,gfdm.lb, sum(ysd.yssl*ysd.htdj)as je
from ht left join gfdm on ht.gfdm=gfdm.gfdm
join ysd on ht.htbh=ysd.htbh
and ht.htbh not like'del%' and ht.ht_xy_flag='ht'
and ht.lkc_flag=1
and ht.qdrq between '2008-01-01' and '2008-12-31'
group by ht.gfdm ,gfdm.gfmc,gfdm.lb order by je desc
合并
select ht.gfdm,gfdm.gfmc,gfdm.lb,
je=sum(case ht.lkc_flag when 0 then jh.htdj*jh.htsl else 0 end)
,lkc_je=sum(case ht.lkc_flag when 1 then ysd.yssl*ysd.htdj else 0 end)
from ht left join gfdm on ht.gfdm=gfdm.gfdm
join ysd on ht.htbh=ysd.htbh
join jh on ht.htbh=jh.hth
where ht.qdrq between '2008-01-01' and '2008-12-31'
and ht.htbh not like'del%' and ht.ht_xy_flag='ht'
group by ht.gfdm ,gfdm.gfmc,gfdm.lb order by je desc
我把两句前两句并成一句后,结果不对.请高手帮助诊断一下,错在哪里,谢谢!
select ht.gfdm,gfdm.gfmc,gfdm.lb ,sum(jh.htdj*jh