我想出了以下查询,解决起来并不那么具有挑战性,但我仍然认为可能有更好的方法。有什么建议吗?
我有下表:
tb_Salary
EmpID DeptID Salary
---------------------
1 1 20000
2 1 20000
3 2 30000
4 2 800
5 2 200
Run Code Online (Sandbox Code Playgroud)
我想将员工的工资增加卢比。1000只在部门平均工资超过35000的时候。
这可以使用单个更新查询吗?
我按照以下方式做到了这一点。但似乎这不是那么聪明的解决方案。
UPDATE tb_Salary t1
SET t1.Salary=t1.Salary+1000
WHERE 35000 < (select AVG(t2.Salary) from tb_Salary t2 WHERE t2.DeptID=t1.DeptID)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34193 次 |
| 最近记录: |