Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 如果表a和表b中存在值,则在表a中添加一列_Sql Server_Sql Server 2012 - Fatal编程技术网

Sql server 如果表a和表b中存在值,则在表a中添加一列

Sql server 如果表a和表b中存在值,则在表a中添加一列,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我知道如何检查两个表中是否都存在这些值,但如何添加一列来指示它是否找到了某些内容 SELECT NAME, ID FROM TABLE_A TA WHERE EXISTS (SELECT 1 FROM TABLE_B TB WHERE TA.ID = TB.ID) 结果 NAME ID 1 123 2 234 3 345 我想要什么 NAME ID Exists 1 123 Y 2 234 N 3 34

我知道如何检查两个表中是否都存在这些值,但如何添加一列来指示它是否找到了某些内容

SELECT NAME, ID FROM TABLE_A TA
WHERE EXISTS (SELECT 1 FROM TABLE_B TB
              WHERE TA.ID = TB.ID)
结果

NAME  ID
1    123
2    234
3    345
我想要什么

NAME  ID    Exists
1    123     Y
2    234     N
3    345     N
这可能有用吗

SELECT NAME, ID,case when 
    (select count(1) from TABLE_B where ID = TA.ID) = 0 then 'N'
else 'Y'
end as 'Exists' FROM TABLE_A TA
WHERE EXISTS (SELECT 1 FROM TABLE_B TB
              WHERE TA.ID = TB.ID)
这可能有用吗

SELECT NAME, ID,case when 
    (select count(1) from TABLE_B where ID = TA.ID) = 0 then 'N'
else 'Y'
end as 'Exists' FROM TABLE_A TA
WHERE EXISTS (SELECT 1 FROM TABLE_B TB
              WHERE TA.ID = TB.ID)

您可以在case语句中使用exists条件:

SELECT NAME, ID, CASE WHEN EXISTS (SELECT 1 FROM TABLE_B TB
              WHERE TA.ID = TB.ID) THEN 'Y' else 'N' end [Exists] FROM TABLE_A TA

您可以在case语句中使用exists条件:

SELECT NAME, ID, CASE WHEN EXISTS (SELECT 1 FROM TABLE_B TB
              WHERE TA.ID = TB.ID) THEN 'Y' else 'N' end [Exists] FROM TABLE_A TA
这将为您提供两个表的结果,因此,如果B中存在id,但A中不存在id,您还将获得Resultl

如果您只需要表A中的值的reults,而这些值不在表B中

SELECT NAME, TA.ID, CASE WHEN TB.Id IS NULL  THEN 'N' else 'Y' end [Exists] 
FROM TABLE_A TA
LEFT OUTER JOIN  TABLE_B TB
 ON TA.ID = TB.ID
这将为您提供两个表的结果,因此,如果B中存在id,但A中不存在id,您还将获得Resultl

如果您只需要表A中的值的reults,而这些值不在表B中

SELECT NAME, TA.ID, CASE WHEN TB.Id IS NULL  THEN 'N' else 'Y' end [Exists] 
FROM TABLE_A TA
LEFT OUTER JOIN  TABLE_B TB
 ON TA.ID = TB.ID

你发布的查询?或者你想让它成为一个计算列?用你发布的查询?或者你想让它成为一个计算列?