Reputation: 575
I want to use some CASE WHEN
statements inside a WHERE
clause to allow for different WHERE
criteria depending on a specific variable. I have an idea of how it looks like, but I just don't know if it's possible or what syntax to use.
I would like it to be used as such:
SELECT * FROM Table1
WHERE
CASE WHEN @var = 1 THEN ID = 5 END,
CASE WHEN @var = 2 THEN Name = 'Bob' END,
CASE WHEN @var = 3 THEN Color = 'Green'
Where for each instance of @var
the WHERE
condition is different. Any help is appreciated.
Upvotes: 2
Views: 709
Reputation: 726929
You do not need a CASE
for that:
SELECT * FROM Table1
WHERE
(@var = 1 AND ID = 5) OR
(@var = 2 AND Name = 'Bob') OR
(@var = 3 AND Color = 'Green')
Upvotes: 4