MySQL Update INNER JOIN

时间:2016-10-11 05:02:42

标签: mysql join

我尝试更新具有父表的特定表中的列。 该表格为gradings,此表格中我想要更新的值为sy_id.

另一个表格school_years包含列sy_idsy_dates,其中包含值。 2018 -2019, 2019 - 2020....

我想更新sy_id中的gradings列,但我不知道如何解决错误。

UPDATE gradings
INNER JOIN school_years
ON gradings.sy_id = school_years.sy_dates
INNER JOIN students
ON gradings.student_id = students.id
SET gradings.sy_id = '2017 - 2018'
WHERE students.id = 1;

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

假设您没有加入错误的列,这应该可以正常工作:

update gradings g,
    school_years sy,
    students s 
set 
    g.sy_id = '2017 - 2018'
where
    g.student_id = s.id
        and g.sy_id = sy.sy_dates
        and s.id = 1