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