Is there a shorter/better way to write this SQL statement?
Edit: the inner sql select statement is a placeholder, the actual statement is more complex.
SELECT
CASE WHEN
ISNULL((SELECT TOP 1 x FROM y), '') = ''
THEN 'No'
ELSE 'Yes'
END AS BooleanValue
It feels very kludgey because it compares the result of the select statement to null, then sets to an empty string if null; just to check if it is an empty string, and set it to what it actually needs to be: a 'yes' or 'no' string.
Here's one way to do it a bit cleaner.
This removes one extra command and should have the same output. I just tested it in sql server 2012.