我想根据成绩和学分计算每个学生的GPA。我已经执行了类似的事情
SET GPA=(SELECT((t.grade*c.credits)/c.credits)
FROM Student s, Take t, Courses c
WHERE s.sid=t.sid and t.cid=c.cid)
它不起作用。 Select查询的结果有很多行。所以我无法做到这一点。我的桌子是这样的:
我正在使用PostgreSQL。
答案 0 :(得分:0)
试试这个:
SELECT s.sid, (SUM(t.grade * c.credits) / SUM(t.credits)) AS GPA
FROM Student s
INNER JOIN Take t ON s.sid = t.sid
INNER JOIN Courses c ON t.cid = c.cid
GROUP BY s.sid