I have this query:
x
select case when id=1 then 'A'
when id=2 then 'B'
end
from test
It is giving me o/p as
Id
A
B
NULL
NULL
NULL
I don’t want to have NULL
values in my output, I only want to compare in A and B, is it possible in case statement.
Advertisement
Answer
A case
expression can only manipulate the value of an expression, not remove rows from the result. If you want to omit the null
s from the result, you’ll have to add a where
clause:
SELECT CASE WHEN id = 1 THEN 'A'
WHEN id = 2 THEN 'B'
END
FROM test
WHERE id IN (1, 2) -- HERE