I have a request like this
Select Col_A ,Col_B ,Col_C ,CASE WHEN (SELECT ...{a very complicated query}...) IS NOT NULL THEN 1 ELSE 0 END CASE AS Col_D FROM MyTable
The subquery that Col_D produces returns an integer if it is not null.
I need to show BIT that Col_D is, but I also need to show INT which it returns. Usually I just rewrite the subquery and call it Col_E, but given its complexity, I donβt want to run it twice. Ideally, I would:
Select Col_A ,Col_B ,Col_C ,(SELECT ...{a very complicated query}...) AS Col_E ,CASE WHEN Col_E IS NOT NULL THEN 1 ELSE 0 END CASE AS Col_D FROM MyTable
Do I have any options? (MS SQL 2008)
EDIT: Sorry - I should have mentioned that a complex query includes a where clause based on my columns ie
SELECT ...{a very complicated query}... WHERE X = Col_A AND Y = Col_B
source share