我有一个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函数,查询可以正常工作,但是当我放置它时,它会崩溃.
我的错误是什么?
发布于 2011-05-19 19:13:11
这个查询是否表示了您要寻找的平均值?
SELECT studentId, Avg(grade) AS average_grade
FROM [Student-Topic]
GROUP BY studentId;如果是这样,您可以将其保存为单独的查询,并将其与原始查询连接起来。或将其作为子查询包含在原始查询中。
编辑:哎呀。子查询可能会有问题,因为表名必须放在括号内.当Access‘在子查询周围使用方括号时,可能会混淆它。最好是给桌子取个不需要分门别类的名字。Student_Topic而不是学生主题.
发布于 2011-05-19 18:51:39
在使用聚合函数时,必须对数据进行分组。
https://stackoverflow.com/questions/6063462
复制相似问题