UPDATE student as s
LEFT JOIN takes as t
ON s.ID = t.ID
LEFT JOIN course as c
ON t.course_id = c.course_id
SET s.tot_cred = s.tot_cred - c.credits
WHERE t.grade = 'F' OR t.grade IS NULL
我试图通过减去学生失败的任何课程的学分值来更新学生中的 tot_cred,成绩关系 = 'F',或当前正在学习,成绩关系为空。
然而,上面的查询将任何符合此条件的学生的 tot_cred 设置为 NULL,我不知道为什么。
如果之前有人问过这个问题,我深表歉意,我试图搜索相关的内容,但找不到与减法相关的许多问题。我是stackoverflow的新手。谢谢大家的帮助。