【发布时间】:2019-08-12 21:48:38
【问题描述】:
我有 3 张桌子: 学生,课程(重要领域分数),StudentCourses(重要领域成绩)。
如果成绩大于或等于 70,则考试通过,因此学生将获得积分。 如果成绩低于 70,学生将不会获得积分。 如果学生的学分总和大于 10,则学生毕业。
我需要选择 StudentName、他的 PASSED 分数总和、他所有成绩的平均值。 我可以选择 StudentName、他的 PASSED 分数的总和和他的 PASSED 成绩的平均值。但我需要所有成绩的平均值。
我写了以下查询。
SELECT s.Name, SUM(c.CreditPoints) AS CreditPoints, AVG(sc.Grade) AS
AverageGrade FROM Students s JOIN StudentCourse sc
ON s.Id = sc.StudentId
JOIN Courses c ON c.Id = sc.CourseIdenter code here
WHERE sc.Grade >= 70
GROUP BY s.Name
HAVING SUM(CreditPoints) > 10
ORDER BY CreditPoints
【问题讨论】:
-
。 .用您正在使用的数据库标记您的问题。
-
您能否向我们展示一下您刚刚编写的查询到底有哪些不适合的地方?您的预期输出是什么?
标签: sql sql-server