数据库更新查询

时间:2015-03-25 06:44:49

标签: sql database ms-access-2013

考虑下表:

Employee(empid, emp_name,emp_dob,emp_doj,emp_basicsalary,emp_medallowance).

创建一个更新查询,在以下条件下增加员工的工资。

If basic salary is < Rs.50,000
    increment=20%
else
    increment=15%

如果每个

执行两个更新查询

4 个答案:

答案 0 :(得分:2)

这对你有用:

update Employee
set salary = case 
 when salary < 50000 then salary * 1.20
 else salary * 1.15
end;

答案 1 :(得分:1)

您只能使用CASE WHEN的1个更新查询,如下所示:

UPDATE Employee 
SET emp_basicsalary = CASE WHEN emp_basicsalary < 50,000 
                           THEN emp_basicsalary * 1.2 
                           ELSE emp_basicsalary * 1.15 
                       END

答案 2 :(得分:1)

试试这个:

update Employee
set salary = case when salary < 50000 then salary * 1.2 
             else salary * 1.15
             end

在MS Access中,您可以尝试:

update Employee
set salary = IIF(salary < 50000, salary*1.5, salary * 1.15) 

或者您可以尝试使用Switch

UPDATE Employee
SET salary= Switch(
    salary < 50000, salary * 1.2,
    salary >= 50000, salary * 1.15,
    );

请注意,MS Access没有Case when then

答案 3 :(得分:0)

首先运行这个

UPDATE Employee SET emp_basicsalary = 1.15 * emp_basicsalary其中emp_basicsalary&gt; = 50000;

然后

UPDATE Employee SET emp_basicsalary = 1.2 * emp_basicsalary其中emp_basicsalary&lt; 50000;