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 
 
     
    