Sql server 生成用于检查连接条件是否匹配的标志-SQL Server
我想联接两个表,表a和表b,其中b是通过左外联接的查找表。我的问题是如何生成一个标志来显示是否匹配联接条件Sql server 生成用于检查连接条件是否匹配的标志-SQL Server,sql-server,tsql,Sql Server,Tsql,我想联接两个表,表a和表b,其中b是通过左外联接的查找表。我的问题是如何生成一个标志来显示是否匹配联接条件 **列id和国家/地区的查找表b始终不是空值,它们都是联接表a的键。这是因为由于“更新日期”和“过账日期”字段,同一id和国家/地区在表a中可以有多行 示例表a id country area 1 China Asia 2 Thailand Asia 3 Jamaica SouthAmerica 4 Japan Asia 示例表b id country area 1 China
**列id和国家/地区的查找表b始终不是空值,它们都是联接表a的键。这是因为由于“更新日期”和“过账日期”字段,同一id和国家/地区在表a中可以有多行 示例表a
id country area
1 China Asia
2 Thailand Asia
3 Jamaica SouthAmerica
4 Japan Asia
示例表b
id country area
1 China Asia
2 Thailand SouthEastAsia
3 Jamaica SouthAmerica
5 USA America
预期产量
id country area Match
1 China Asia Y
2 Thailand SouthEastAsia Y
3 Jamaica SouthAmerica Y
4 Japan Asia N
试试这个
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
在检查基于id的匹配时,需要做很大的假设。列id和国家/地区的查找表b始终不是空值,并且它们都是联接表aIt的键。如果表b的架构定义为非空,则无所谓。通过使用左联接,当联接条件未满足时,将强制返回空值。@lad2025哪个是?