免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2534 | 回复: 2
打印 上一主题 下一主题

问一个sql方面的问题,请高手赐教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-11 22:19 |只看该作者 |倒序浏览
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,但是出现重复计算的情况。
请高手赐教。非常感谢!

论坛徽章:
0
2 [报告]
发表于 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(+)


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

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2017-04-05 11:23:15
3 [报告]
发表于 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 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP