我无法在单个查询中从多个表中检索数据。
我有以下表格:
简要说明:
学生可以学习很多科目,而且很多学生都可以学习科目(表创作研究)
一个教师讲课(FK用于(表科目))
表级为关于学生获得的分数的信息提供了
我试图表达的SQL查询是:找回研究安东尼奥教授的学科的普通学生。
首先,我使用表级的AVG聚合来获得普通学生:
SELECT Id_Student, Name, AVG(Mark)
AS Average FROM Grade
GROUP BY Id_Student, Name
但我的麻烦也是使用这个SQL查询的结果并再次使用Lecturer" Antonio"教授的主题结果进行过滤。
是否可以在一个SQL查询中创建它?
答案 0 :(得分:0)
SELECT Id_Student, Name, AVG(Mark) AS Average FROM Grade
where id_student in
(
select student.id_student from subject
join study on subject.id_subject = study.id_subject
join student on study.id_student = student.id_student
where subject.taught_by = L1
)
GROUP BY Id_Student, Name
你也可以加入GRADE,而不是做我在这里做的子选择。但如果不进行实际测试,很难说它会如何发展。