我想知道是否可以在这样的列中使用 EXISTS (或类似的东西):
SELECT Column1,
Column2,
EXISTS (SELECT 1 FROM Table2 T2 WHERE T2.Column = T1.Column) AS IsFlag
FROM Table1
我知道我可以用 Count() 做类似的事情
SELECT Column1,
Column2,
(SELECT Count(*) FROM Table2 T2 WHERE T2.Column = T1.Column) AS IsFlag
FROM Table1
但是当 Table2 很大时,这可能不是很有效
最佳答案
试试这个
SELECT Column1,
Column2,
CASE WHEN EXISTS (SELECT 1 FROM Table2 T2
WHERE T2.Column = T1.Column) then 1 ELSE 0 END AS IsFlag
FROM Table1
关于sql-server - T-SQL 使用 EXISTS 作为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807347/