假设我有以下 2 个表:
Table1: Table2:
Col1: Col2: Col3: Col1: Col2: Col4:
a b c a b d
e <null> f e <null> g
h i j h i k
l <null> m l <null> n
o <null> p o <null> q
现在,我想在 Col1
和 Col2
上加入这些表,然后将整个集合恢复为:
Result:
Col1: Col2: Col3: Col4:
a b c d
e <null> f g
h i j k
l <null> m n
o <null> p q
所以,我尝试了一个类似的 SQL:
SELECT Table1.Col1, Table1.Col2, Table1.Col3, Table2.Col4
FROM Table1
INNER JOIN Table2
ON Table1.Col1 = Table2.Col1
AND Table1.Col2 = Table2.Col2
但它与 NULL
中的值不匹配 Col2
,所以我最终得到:
Result:
Col1: Col2: Col3: Col4:
a b c d
h i j k
我怎样才能得到我正在寻找的结果?
谢谢!
原文由 John Bustos 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以明确说明连接:
在实践中,我更有可能在连接条件中使用
coalesce()
:其中
''
将是两个表中都不存在的值。只是一个警告。在大多数数据库中,使用这些结构中的任何一个都会阻止使用索引。