这个问题在这里已经有答案了:
mysql创建连接两个表的视图(2个答案)
10个月前关门了。
我有三张table
Students (sid:integer, sname:string, age:integer)
Courses (cid:integer, cname:integer, credits:integer)
Grades(sid:integer, cid:integer, grade:string)
我正在尝试创建一个视图,用他们的平均绩点列出班上最优秀的学生
到目前为止,我已经尝试过这个查询
CREATE VIEW TopStudents AS
SELECT Students.sid, Students.sname, AVG(Grades.grade) AS GPA
FROM Students, Grades
INNER JOIN Grades ON Students.sid = Grades.sid
INNER JOIN Grades ON Course.cid = Grades.cid
WHERE GPA >3.0
问题是我不知道正确的语法
1条答案
按热度按时间r7s23pms1#
你需要选择合适的连接
你的主表是成绩表,因为它与其他两个表相关。因此,从这个表中为每个表使用一个join,您需要正确的on子句
(代码中有几个错误部分。将from子句与逗号分隔的表名和join混合。。不是将两个表连接到课程表,而是使用tw time a join on grades表(但这种语法不能以正确的方式解析表之间的关系)。