Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 生成用于检查连接条件是否匹配的标志-SQL Server_Sql Server_Tsql - Fatal编程技术网

Sql server 生成用于检查连接条件是否匹配的标志-SQL Server

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

我想联接两个表,表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 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哪个是?