gpt4 book ai didi

sql - Redshift 左外连接忽略空值

转载 作者:行者123 更新时间:2023-12-04 13:52:02 26 4
gpt4 key购买 nike

作为背景,我已经设置了 100 个 redshift 查询,比这复杂得多,但我认为我必须遗漏一些简单的东西。

我在表 1 和表 2 之间进行左外连接。这些表本质上是这样的:

Table1
Col1 Col2 Col3
A C E
A D F

Table2
Col 1 Col2 Col3
A C Z

我没有 where 语句。我的声明是:
on Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2

我的结果表是:
ResultTable:
Col1 Col2 Col3 Col4
A C E Z

我期待:
ExpectedTable:
Col1 Col2 Col3 Col4
A C E Z
A D F Null

我错过了什么?谢谢。

最佳答案

这可能不是您的问题,但如果连接中使用的任何列为空,即使连接两侧的列值为空,Redshift 也不会使用相等运算符匹配记录。

为了处理这个问题,为每个连接添加一个或条件,检查双方是否为空。

例如((a.col1 = b.col1) or (a.col1 is null and b.col1 is null))

关于sql - Redshift 左外连接忽略空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28080883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com