任何人都可以告诉我为什么这段代码不起作用,我把所有的员工评级都当作0
select Fname,lname, salary, salary =(
case when salary>0 and salary <5000 then 1
when SALARY>5000 and salary <7000 then 2
else 3 end )
employeegrade from employee;
答案 0 :(得分:1)
如果您使用的是SQL Server,则在执行给定查询时会出现以下错误。 “'员工等级'附近的语法不正确。” 原因是您试图将计算结果分配给两个不同的列名,即。薪水和员工等级。
如果您想计算员工成绩,可以使用以下查询。
select Fname,lname, salary, employeegrade =(
case when salary>0 and salary <5000 then 1
when SALARY>5000 and salary <7000 then 2
else 3 end )
from employee;
OR
select Fname,lname, salary,
case when salary>0 and salary <5000 then 1
when SALARY>5000 and salary <7000 then 2
else 3 end as employeegrade
from employee;
答案 1 :(得分:0)
尝试以下代码
public enum OptionalField
{
None = 0,
RuleOwner = 1,
Rule = 2,
RuleAndRuleOwner = 3,
etc.
}
答案 2 :(得分:0)
尝试删除salary =
这被解释为比较运算符,因此0为false就是结果。
答案 3 :(得分:0)
试试这个
select Fname,lname, salary,
case when salary > 0 and salary < 5000 then 1
when SALARY > 5000 and salary < 7000 then 2
else 3 end as employeegrade
from employee;