问一个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,但是出现重复计算的情况。
请高手赐教。非常感谢!
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(+)
这个可以实现,后面自己补充完整 可以用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]