我想表明一个表中的记录存在于另一个表中并使用下面的代码。这可能吗?
CASE WHEN EXISTS (
SELECT *
FROM tblA a
INNER JOIN tblB b ON a.AccountID = b.AccountID
) THEN 'YES' ELSE 'NO' END
答案 0 :(得分:2)
Dave Gugg在评论中提到这是可能的。另一种方法是使用LEFT JOIN,对于那些在表B中不匹配的行显示NO,对于匹配显示YES的那些:
SELECT a.*, CASE WHEN b.AccountID IS NOT NULL THEN 'YES' ELSE 'NO' END as YesNoCol
FROM tblA a
LEFT JOIN tblB b ON a.AccountID = b.AccountID
答案 1 :(得分:1)
不。做这样的事情:
SELECT CASE WHEN (SELECT COUNT(*)
FROM tblA AS A
INNER JOIN tblB AS B
ON A.AccountID = B.AccountID) > 1
THEN 'YES' ELSE 'NO' END AS T;