sql - 根据当前工资更新激励栏
问题描述
CREATE TABLE EMPSAL
(
ID INT ,
NAME VARCHAR(40),
SALARY FLOAT,
INCENTIVES FLOAT
)
INSERT INTO EMPSAL VALUES (1,'ABHI',500,NULL)
INSERT INTO EMPSAL VALUES (2,'BABY',600,NULL)
INSERT INTO EMPSAL VALUES (3,'CHARAN',3000,NULL)
INSERT INTO EMPSAL VALUES (4,'DHANA',4000,NULL)
INSERT INTO EMPSAL VALUES (5,'EMO',5000,NULL)
INSERT INTO EMPSAL VALUES (6,'FARAN',6000,NULL)
INSERT INTO EMPSAL VALUES (7,'GEO',7000,NULL)
INSERT INTO EMPSAL VALUES (8,'JAHANGEER',8000,NULL)
如果薪水 < 1000,则将激励列更新为 (SALARY + 5% OF SALARY)。
如果薪水 < 5000,则将激励列更新为 (SALARY + 7% OF SALARY)。
如果薪水高于 6000,则将激励列更新为 SALARY。
我不知道如何启动此查询。
解决方案
只需Case
像下面这样使用:
Update EMPSAL
Set Incentive =
Case
WHEN Salary < 1000 then SALARY * 1.05
WHEN Salary < 5000 AND salary >= 1000 THEN SALARY * 1.07
ELSE SALARY
End
推荐阅读
- lua - Lua解剖函数定义
- python - django 中基于类的视图上的 login_required 装饰器
- position - Redshift Query Syntax 错误(使用 SQL Workbench):有没有简单的方法可以直接进入错误中提到的“位置”?
- node.js - 项目双嵌套数组mongodb
- events - wxpython GUI 应用程序在操作后未触发事件,如何排除故障?
- excel - Excel:基于范围的条件格式
- entity-framework-core - EntityFrameworkCore:DeleteBehavior 选项太多
- javascript - 滚动显示 div 在页面刷新时不起作用/如果它尚未运行
- node.js - 如何在猫鼬聚合后将数组中的对象转换为项目数组
- laravel - Laravel ping IP 检查在线或离线状态