sql语句多表关联出现SUM()重复计算的问题

背景:由于一个项目关联多个合同,就会导致项目的数据随着合同的数量重复增加;
解决办法:将项目与合同分别求出再进行关联

select a.*,bb.领料数量,dd.完工数量
from a
left join (select 生产批号,sum(领料数量) as 领料数量 from b group by 生产批号) bb
on a.生产批号=bb.生产批号
left join (select cc.生产批号,sum(d.完工数量) as 完工数量
from (select distinct 合同金额,rcid from c) cc,d
where c.rcid=d.rcid
group by c.合同关联项目id
) dd on a.项目id=dd.合同关联项目id

更多推荐

sql语句多表关联出现SUM()重复计算的问题