sql-servert-sqlexists

T-SQL use EXISTS as Column


I'm wondering whether I can use EXISTS (or something similar) in column like this:

SELECT Column1,
       Column2,
       EXISTS (SELECT 1 FROM Table2 T2 WHERE T2.Column = T1.Column) AS IsFlag
FROM Table1

I know I can do something similar with Count()

SELECT Column1,
       Column2,
       (SELECT Count(*) FROM Table2 T2 WHERE T2.Column = T1.Column) AS IsFlag
FROM Table1

But that might not be very efficient when Table2 is large


Solution

  • Try this

    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