生成标志以检查连接条件是否匹配 - SQL Server

use*_*849 3 t-sql sql-server

我想加入 2 个表,表 a 和表 b,其中 b 是左外连接的查找表。我的问题是如何生成一个标志来显示是否匹配或不匹配连接条件?

**列id和country的查找表b始终不为空值,两者都是连接表a的键。这是因为由于更新日期和发布日期字段,相同的 ID 和国家/地区可以在表 a 中具有多行。

示例表a

id country area
 1 China Asia
 2 Thailand Asia
 3 Jamaica SouthAmerica
 4 Japan Asia
Run Code Online (Sandbox Code Playgroud)

示例表 b

id country area
 1 China Asia
 2 Thailand SouthEastAsia
 3 Jamaica SouthAmerica
 5 USA     America
Run Code Online (Sandbox Code Playgroud)

预期输出

id country area Match
 1 China Asia Y
 2 Thailand SouthEastAsia Y
 3 Jamaica SouthAmerica Y
 4 Japan Asia N
Run Code Online (Sandbox Code Playgroud)

cod*_*ger 5

试试这个

Select a.Id,
       a.Country,
       a.Area,
       Case When b.Id Is NULL Then "N" Else "Y" End as [Match]

From TableA a
Left Join TableB b on a.Id = b.Id And a.Country = b.Country
Run Code Online (Sandbox Code Playgroud)