【发布时间】:2018-07-10 10:03:56
【问题描述】:
我正在 Oracle 中寻找一种方法来执行类似 如果第一个条件不匹配,则执行第二个条件。让我们举个例子。
我在查询中有这个 JOIN:
SELECT A.COL1, A.COL2, B.COL1, B.COL2
FROM A
FULL JOIN (SELECT COL1, COL2 FROM B)
ON B.COL1 = A.COL1
OR B.COL2 = A.COL2
你看,在这个 OR 条件下,我可以为同一个 B 对象创建两个连接。我不希望那样。我想要的是这样的:
- 如果没有结果 B.COL1 = A.COL1
- 然后让我们尝试使用 B.COL2 = A.COL2 进行连接
【问题讨论】:
-
ON (B.COL1 = A.COL1) OR (B.COL1 <> A.COL1 and B.COL2 = A.COL2)