首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle SQL -左连接+左外连接

Oracle SQL -左连接+左外连接
EN

Stack Overflow用户
提问于 2016-06-03 04:57:40
回答 1查看 452关注 0票数 0

我正在查询三个表。TABLE1 A和TABLE2 B在DEPTID上的比例为1:1。但是,TABLE3 C并不包含0值。在与TABLE3 A或TABLE1 B进行左外部连接时,我可以成功地从TABLE2 C获取COUNT给我0个值,但当我将所有三个表连接在一起时,它会给我(null)而不是0。我需要它返回0而不是(null)。非常感谢您的帮助:

代码语言:javascript
复制
SELECT A.DEPTID, B.DEPT_NAME, SUM(C.HEAD_COUNT)
FROM TABLE1 A
LEFT JOIN TABLE2 B ON A.DEPTID = B.DEPTID
LEFT OUTER JOIN TABLE3 C ON A.POSITION_NUMBER = C.POSITION_NUMBER
GROUP BY A.DEPTID, B.DEPT_NAME

这是我目前得到的:

部门1:编制9人

部门2:编制11人

部门3:(空)

EN

回答 1

Stack Overflow用户

发布于 2016-06-03 05:40:03

使用COALESCE()NVL()0替换为NULL值:

代码语言:javascript
复制
SELECT   A.DEPTID,
         B.DEPT_NAME,
         SUM(COALESCE( C.HEAD_COUNT, 0 ) )
FROM     TABLE1 A
         LEFT OUTER JOIN TABLE2 B
         ON A.DEPTID = B.DEPTID
         LEFT OUTER JOIN TABLE3 C
         ON A.POSITION_NUMBER = C.POSITION_NUMBER
GROUP BY A.DEPTID,
         B.DEPT_NAME
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37601984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档