如何在where子句中添加case语句

时间:2018-10-09 12:25:46

标签: sql sql-server tsql

样品表:

Table1 (Userid, Name, Salary, Rank)

查询:

create procedure Proc_SelectDetails
as
@Salary int
begin
     select * from Table1 where salary >= @Salary  
end

如果@salary > 50000,还要检查等级(含薪水)应大于6,否则不考虑进行比较的等级。 只是比较薪水。 如何借助case语句在where子句中添加此内容。

2 个答案:

答案 0 :(得分:3)

这应该做到:

SELECT *
FROM Table1 
WHERE Salary >= @Salary
AND (@Salary <= 50000 OR Rank > 6)

答案 1 :(得分:0)

我可能错过了where情况的逻辑,无论如何,如果case whenwhere更胜于{{1},那么此查询将显示salary@Salary的示例薪水。

rank