【发布时间】:2022-12-16 22:29:12
【问题描述】:
我正在使用 SQL Server 2019。
我有三张桌子。 我想使用内连接从第二个表中获取值,但如果第二个表中的值不存在,则应从第三个表中检索该值。
我想出了下面的 SQL,但这没有返回任何数据。
Select
Table1.ID,
Case
When Table2.Value2 Is Not Null Then Table2.Value2
Else Table3.Value3
End as Value
from Table1
Inner Join Table2 On Table1.ID = Table2.ID2
Inner Join Table3 On Table1.ID = Table3.ID3
我用谷歌搜索,但找不到答案。 感谢您的帮助,谢谢。
【问题讨论】:
-
您需要
LEFT JOIN而不是INNER JOIN。SELECT ... COALESCE(Table2.Value2, Table3.Value3)也是一个选项。 -
所有 3 个表中都不存在
ID,因此这就是您得不到结果的原因。请熟悉joins:relational-databases-joins
标签: sql sql-server