本帖最后由 showdead 于 2009-07-01 12:00:36 编辑

解决方案 »

  1.   

    其中B和D做了合计
    C取了最大值
    E取了最小值
    A忽略吧,不该写上去的  -_-;
      

  2.   

    select * from (select id, sum(b) b, sum(c) c, sum(d) d, sum(e) e  from (select id, sum(b) B, max(c) C, 0 D, 0 E from t2 group by id) a union all (select id, 0 B, 0 C, sum(d) D, min(e) E from t3 group by id)) c, t1 where t1.id=c.id(+);
    先写个复杂的。
      

  3.   

    意思明白了,你这个SQL比我刚刚想出来的简单多了...我是在表2和3里面都union了表1里面取出来的全ID假数据实现的...我去改一改~呵呵,非常感谢!如果有更好的方法也烦请示下~