I Have a SQL statement, with Different 'Where clauses' given different Parameters values passed to a Stored Procedure.
I do not want to write 5 different SQL statements for each passed level. I thought of just 1 SQL STATEMENT with a CASE STATEMENT.
Alternatively, i could consider using dynamic SQL but that is a bit messy.
Below is my example (not in working order) - Any suggestions plse.
This is MS SQL Server 2012
Declare @Level int = 1;
SELECT *
FROM [HR_MIS_STAGING].[dbo].[XXXXX_Promotions_201510_201610]
where
case @Level when 1 then
appt_no = '01';
case @Level when 2 then
org = '15';
case @Level when 3 then
race = '1';
case @Level when 4 then
Gender= 'M';
case @Level when 5 then
Prov= 'Nat';
END