oracle 如果为空,则在不同的源上左连接

yzuktlbb  于 2023-04-29  发布在  Oracle
关注(0)|答案(2)|浏览(138)

我正在尝试在表A上做左连接。我有我想加入的表B的主列,但是有可能是空值。如果第一个左联接列返回空值,它将在第二列中查找匹配项,我该如何编写查询?

select a.Node, b.Amps
from A
left join on 
a.node = b.Node
--IF NULL left join on a.node = b.name
--if still no match, then return null
xhv8bpkk

xhv8bpkk1#

这里有一个方法:

select a.Node, b.Amps
from A a
left join B b
   on a.node IN (b.Node, b.name)
2lpgd968

2lpgd9682#

当第一个条件不为真,而第二个连接条件为:

select a.Node,
       b.Amps
from   A
       left join B
       on    a.node = b.Node
          OR (   (a.node <> b.node OR a.node IS NULL OR b.node IS NULL)
             AND a.node = b.name
             )

相关问题