我正在使用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
我在谷歌上搜索了一下,但找不到答案。任何帮助都很感激,谢谢。
1条答案
按热度按时间3pmvbmvn1#
我们可以在这里使用
COALESCE()
函数:如果第二个表没有匹配的
ID
,则需要左联接而不是内联接。在这种情况下,查询将保留第一个表中的所有ID,并提供从第三个表中匹配的机会。