【发布时间】:2016-11-10 05:48:51
【问题描述】:
我目前正在上学,我有一个个人项目需要将我选择的工作分类的所有员工增加 5.65%,其他所有人增加 4.93%。这是我到目前为止所拥有的......
UPDATE Employee
SET Salary = Salary * 0.0565
WHERE EXISTS (
SELECT *
FROM Employee
INNER JOIN Job
ON Employee.Job_ID = job.Job_ID
AND job.Job_Classification = 'Retail Sales'
WHERE Job.Job_ID = Employee.Job_ID
);
我的问题是,有没有一种方法可以让每个人都增加 5.65%,而其他人在同一个脚本中?我觉得这是IF THEN ELSE 有点像,但我不知道该怎么做。
【问题讨论】:
-
要非常小心。您可以在单个查询中多次使用同一个表,并且默认情况下,对表的每个引用都是独立的。这意味着您的子查询中对
Employee的引用将不会引用与外部查询中对Employee的引用的same 行。这意味着您当前的查询是“如果存在 任何 从事零售工作的员工,则将 每个 员工的工资更新 5.65%”
标签: sql sql-server tsql sql-server-2016