【发布时间】:2014-12-19 23:19:57
【问题描述】:
我尝试加入取决于table1.column1 是null 还是null。
例如,我有两个表,table1 和 table2,以及查询:
SELECT
A.column2
FROM table1 A , table2 B
WHERE if A.column1 is not null then (A.column1=B.column1)
else if A.column1 is null then (A.column3 = B.column1);
【问题讨论】:
-
建议使用普通的
JOIN语法,而不是将所有表放在已弃用的FROM子句中。 -
这没有意义。 A.column1 为空,那你为什么要加入 B.column1。
-
这里有一个严重的逻辑问题。如果 A.column1 为 NULL,则 A.column1 = B.column1 是不可能的。
-
@Aaron Bertrand 很抱歉没有正确构图...
-
我正在尝试检查 A.column1 是否为空然后 (A.column1=B.column1) 否则如果 A.column1 为空则 (A.column3=B.column1)