Образец таблицы:
Table1 (Userid, Name, Salary, Rank)
Запрос:
create procedure Proc_SelectDetails
as
@Salary int
begin
select * from Table1 where salary >= @Salary
end
Если @salary > 50000, проверьте также ранг (с окладом), который должен быть больше 6, иначе ранг не учитывается для сравнения.
просто сравните зарплату.
Как добавить это в предложение where с помощью оператора case.
В общем, гораздо лучше использовать конструкции AND / OR в предложении WHERE вместо выражений case.


Это должно сделать это:
SELECT *
FROM Table1
WHERE Salary >= @Salary
AND (@Salary <= 50000 OR Rank > 6)
Я мог упустить логику случая where, в любом случае этот запрос показывает пример case when в where, если salary больше, чем @Salary сравнивает rank с зарплатой.
select * from Table1 where
case when salary >= @Salary
then case when rank >= 6 then 1
else 0 end
else 0 end = 1
Пожалуйста, добавьте набор данных и лучше объясните свою логику. Так можно написать где дело зарплата ... потом .... конец