SQL更改左连接NULL值

时间:2014-07-08 21:02:03

标签: null outer-join full-outer-join

是否可以进行完全加入并具有“倒”的NULL值。更改为其他内容(例如将所有这些 NULL更改为1)?目的是能够区分从基表返回的NULL值和从外连接返回的NULL值。

由于

2 个答案:

答案 0 :(得分:0)

说你有

A FULL OUTER JOIN B ON A.FK = B.ID

如果B的ID为null,则由于外部联接,您知道该行全为空。 如果B的ID不为空,则B中的所有空值都是实际值。

通过对称,从B到A保持相同。

只需将键(A.FK和B.ID)保留在SELECT中,您就可以了解识别这两种情况所需的内容。 否则,看看COALESCE(),它是你要求的,但它不是你需要的。

答案 1 :(得分:0)

也许这会奏效。您比较您加入的列。检查一个表是否为空而另一个表是否为空。如果是,那么它来自加入。我确信有些情况我会忽略,但它可以在这个小例子中起作用。

SQL Fiddle Demo