0
update employee as e,employee_salary as es
set e.annualincome=
case e.currentgrade
when 1 then e.annualincome+e.annualincome*0.10
when 2 then e.annualincome+e.annualincome*0.15
end,
es.income=
case e.currentgrade
when 1 then es.income+es.income*0.10
when 2 then es.income+es.income*0.15
end
where e.employeeid=es.employeeid and salarydate >'2011-09-01%';
我正在基于相同的条件更新两个不同表的两列我怎么能用一个案例做到这一点?如何根据同一组条件更新多列?
在此先感谢
当前等级与百分比增加无关。但取决于当前等级,我们会按指定的百分比更新收入和年收入。 – pavi
@pavi:然后看看最后的交易解决方案。这是(IMNSHO)比(现在错误的)“增加 - 等级”解决方案和原始问题中的复杂表达式更加明确。 – paxdiablo
我应该在单个查询中执行更新,因为它会增加服务器 – pavi