gpt4 book ai didi

sql - 在不可连接的列上右连接

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:33 25 4
gpt4 key购买 nike

我的问题很简单,假设我在两个表之间进行连接,其中一个是右连接

select e.name, nvl(e.mobileNumber, c.secondaryNumber)
from T_employee e, t_contact c
where e.fieldOfficeCode = 10
and e.id = c.id (+)
and c.status = 1001

现在,如果我删除查询的最后一行,它会正确执行正确的连接,但是一旦最后一行出现,我将不会得到任何结果。关于如何解决这个问题的任何想法。现在手头的查询相对复杂,跨越 5 个表,但示例片段将简化实际问题

问候,

最佳答案

这是你需要的:

and c.status (+) = 1001

或者用现代语法:

select e.name, nvl(e.mobileNumber, c.secondaryNumber)
from T_employee e
left outer join t_contact c
on e.id = c.id
and c.status = 1001
where e.fieldOfficeCode = 10

您的查询通过仅选择 c.status= 1001 的连接记录将外连接转回内连接 - 这排除了所有为空的不匹配行。

关于sql - 在不可连接的列上右连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11501512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com