最近在做一个报表,比较复杂,大体是一个主表a,子表b,子表c,子表d,统计这3个主表对应的数据。一开始我直接用left join 进行关联,结果统计的数据大了,
结果发现,数据有重复,left join 关联时,如果u有2个,c有2个,b的数据会重复,这样数据会变多,在如果个,d也有的话,数据又有很多重复。
解决办法:
由于是想在一条sql里来实现这个功能,但是重复数据比较麻烦,使用distinct也没办法解决,最后只能用字查询来做,
类似:
select (select sum(a.num) from b,a where a.id=b.id ) c,sum(a.num) from a