是否可以在单个查询中编写两个具有两个条件的更新函数?

Is it possible to write two UPDATE functions with two conditions in a single query?

我想要实现的是单个查询来更新这两个值。 如果可能的话。

我有一个名为 employee 的 table,其中 3 列是 工资城市员工

我已经完成了需要做的事情,

我需要做的是:

city salary employees
city1 650 employee1
cit2 700 employee2

我的两个独立查询是:

#1

UPDATE employee
SET salary=  salary+ (salary* 15 / 100)
WHERE city= 'city1' AND salary<=800;

#2

UPDATE employee
SET salary=  salary+ (salary* 18 / 100)
WHERE city= 'city2' AND salary<=800;;

您可以使用 case 表达式:

UPDATE employee
    SET salary = salary * (1 + CASE WHEN city = 'city1' THEN 15 ELSE 18 END) / 100
    WHERE city IN ('city1', 'city2') AND salary <= 800;