我有这个MS Access查询:
SELECT DISTINCT
Career.careerId, Student.studentName, Avg([Student-Topic].grade), Career.careerName
FROM
Career INNER JOIN
(
(Student INNER JOIN [Student-Topic]
ON Student.studentId = [Student-Topic].studentId)
INNER JOIN [Student-Career]
ON Student.studentId = [Student-Career].studentId)
ON Career.careerId = [Student-Career].careerId
WHERE
(((
[Student-Career].careerId)=[Career].[careerId]) AND
(([Student-Topic].studentId)=[Student].[studentId]));
没有Avg功能,查询工作正常,但是当我放置它时,它会崩溃......
我的错误是什么?
答案 0 :(得分:4)
此查询是否表示您要查找的平均值?
SELECT studentId, Avg(grade) AS average_grade
FROM [Student-Topic]
GROUP BY studentId;
如果是这样,您可以将其另存为单独的查询并将其与原始查询一起加入。或者将其作为子查询包含在原始查询中。
修改:糟糕。子查询可能会有问题,因为表名必须括在括号中......当它在子查询周围使用方括号时,可能会混淆Access的查询设计器。最好给表格一个不需要包围的名字...... Student_Topic而不是学生主题。
答案 1 :(得分:3)
您必须在使用汇总功能时对数据进行分组。