现在有三张表,A表中存放项目基础信息,B表存在项目的合同信息,C表存在项目的订单信息,分别联查AB或AC数据,计算是正确的,但是联查三张表,数据会存在重复,重复数据例子如下: A中有一条数据“中诚项目” B中有两条数据,合计合同金额为10000 C中有七条数据,合计订单总额为5000 报表中呈现的错误数据则为
相当于项目金额根据C表的订单条数重复计算了七次,具体的sql如下,亲各位大神帮忙看看是不是SQL逻辑有问题,谢谢! select t.id ,sum(t.产品收入) as 产品收入 ,sum(t.结算收入) as 产品成本 ,sum(t.打款金额) as 销量 ,t.cpnm from (select a.id as id ,a.cpmc as cpnm ,a.cjrq as 创建日期 ,a.cplx as 产品类型 ,a.cpssgs as 所属公司 ,b.htje as 产品收入 ,b.xmxl as 规模 ,c.jssr as 结算收入 ,c.dkje as 打款金额 from uf_cpxx a left join uf_htjcxxb b on b.xscpmc= a.id left join uf_ddgl c on c.cpm= a.id where a.cpssgs='6' and a.cjrq>='${ksrq}' and a.cjrq<='${jsrq}' )t group by t.id,t.cpnm |