以下是该方案:
我有一个Access项目,其中的表包含以下数据:
Activity table: ActivityName, ActivityPopularityRating
Volunteer table: VolunteerName, VolunteerRating
每项活动都可以有很多志愿者,每位志愿者都有一个评级。
我必须创建一份报告,指出每项活动,参与该活动的志愿者的姓名和评级,以及参加每项活动的志愿者的平均志愿者评分。附上一个例子。
我已经创建了SQL查询,但我不确定是否应该生成查询中所需的平均值,或者如果Access中有某些功能允许我在报告中执行此操作。
这是我的查询:
SELECT Activity.ActivityName,
Activity.ActivityPopularityRating,
StudentVolunteer.VolunteerName,
StudentVolunteer.VolunteerRating,
AVG(StudentVolunteer.VolunteerRating)
FROM Activity
INNER JOIN StudentVolunteer ON Activity.ActivityName = StudentVolunteer.ActivityName
GROUP BY Activity.ActivityName
感谢所有帮助
由于
答案 0 :(得分:0)
要在结果中添加总行(此处显示平均评级),您可以在MsAccess中使用UNION ALL(或在另一个DBMS中使用ROLLUP)。但是,没有必要在查询中添加此行。数据已经存在(这是所选评级的平均值,可以很容易地从中计算出来)。
因此,请从查询中删除GROUP BY和AVG行,并在报表图层中添加AVG(VolunteerRating)。然后,报告将根据评分计算出平均值。