需要通过另一个表中的ID更新列

时间:2019-02-06 13:17:28

标签: mysql sql

我想在名为“ person”的表中名为“ payscale”的列中将值(从0更改为1),但是我只想通过person_id从另一个名为staff_role_allocation的表中更改行,我一无所有尝试过的作品

SELECT person.person_id, person.payscale 
FROM person 
INNER JOIN staff_role_allocation ON 
person.person_id = staff_role_allocation.person_id 
WHERE (UPDATE person
SET person.payscale='1')

3 个答案:

答案 0 :(得分:1)

由于人们似乎对此感到困惑,因此以下是有效语法的示例。不管是您要查询的查询,完全是另一个问题...

UPDATE person p
  JOIN staff_role_allocation a
    ON p.person_id = a.person_id 
   SET p.payscale = 1 

答案 1 :(得分:0)

尝试以下方法-您的语法对于mysql错误

UPDATE person p
INNER JOIN staff_role_allocation ON 
p.person_id = staff_role_allocation.person_id 
SET p.payscale='1'

答案 2 :(得分:-2)

它可能是这样的:

    UPDATE person SET person.payscale='1'
    FROM person INNER JOIN staff_role_allocation
    ON person.person_id = staff_role_allocation.person_id

告诉我是否可行