更新标准来自另一个表的表字段

时间:2017-01-11 04:50:07

标签: mysql sql sql-update

我希望根据另一个表字段中的条件更新字段中的所有记录。

Table name: emp_leaves
Field name: leave_limit
common field: emp_id

Table name: emp_summary
Field name: emp_status
common field: emp_id

我希望在每个月的开头运行一个查询,以便emp_leaves表中的leave_limit值增加1.5,如果emp_summary表的emp_status值为" Permanent"

我尝试了一些来自互联网的声明,但看起来我的逻辑不正确或我使用的语法无关紧要。请帮我解决这个问题。感谢

3 个答案:

答案 0 :(得分:1)

使用更新联接:

UPDATE emp_leaves a 
INNER JOIN emp_summary b
    ON a.emp_id = b.emp_id
SET a.leave_limit = a.leave_limit + 1.5
WHERE b.emp_status = 'Permanent'

答案 1 :(得分:1)

您可以使用以下查询来完成此操作:

    update emp_leaves set emp_leaves.leave_limit = emp_leaves.leave_limit + 1.5 from emp_summary where emp_leaves.emp_id = emp_summary.emp_id and emp_summary.emp_status = 'Permanent';

答案 2 :(得分:1)

Use Below format :

UPDATE emp_leaves SET emp_leaves.leave_limit = emp_leaves.leave_limit + 1.5
FROM emp_summary 
WHERE emp_leaves.emp_id = emp_summary.emp_id AND emp_summary.emp_status =  
'Permanent'