多表left join出现的重复数据问题

    最近在做一个报表,比较复杂,大体是一个主表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 

posted @ 2010-08-24 15:23  zping  阅读(26603)  评论(1编辑  收藏  举报