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
你发布的查询?或者你想让它成为一个计算列?用你发布的查询?或者你想让它成为一个计算列?