nirvana1125 发表于 2012-02-11 22:19

问一个sql方面的问题,请高手赐教

4张表分别是A,B,C,D
其中:A表字段包括:a,b,c,d,e,money1
B表字段包括:a,b,c,money
C表字段包括:a,b,c,money
D表字段包括:a,b,c,money
现在想以A表为基础,通过a,b,c,d字段为关联,分别取得B,C,D表中对应的sum(money).
如果没有关联,则为0.
即结果输出为:
A.a,A.b,A.c,A.d,money1,sum(B.money),sum(C.money),sum(D.money)
建立一个view。
我通过3个left jion,但是出现重复计算的情况。
请高手赐教。非常感谢!

tianl1 发表于 2012-02-11 22:58

select A.a,A.b,A.c,A.d,money1,sum(B.money),
from A,
(select A.a,A.b,A.c,sum(B.money) from A,B where A.a=B.a and A.b=B.b and A.c=B.c group by A.a,A.b,A.c) X,

where A.a=X.a(+)
and A.b=X.b(+)
and A.c=X.c(+)


这个可以实现,后面自己补充完整

yunzhongyue 发表于 2012-02-13 11:44

可以用outer来实现,如
select A.a,A.b,A.c,sum(nvl(B.money,0),sum(nvl(C.money,0),sum(nvl(D.money,0)
from A,outer B,outer C,outer D
where ...
页: [1]
查看完整版本: 问一个sql方面的问题,请高手赐教