访问权限 - 仅从最长年份表

时间:2017-09-28 09:45:15

标签: ms-access

我在Access中有一个表格,可以保存学生之前的资格。每个学生有多行,取决于他们以前的资格。数据具有资格年份。

我想创建一个只有最新资格的子查询(即最近一年)。我在今年的查询中尝试了maxlast,但由于我带出了其他字段,它仍在提取所有资格而不仅仅是最新资格。

StudentID     Qualificationlevel    QualificationType   MaxOfYearAwarded

10203         Postgraduate/Masters          MSc                2016
10203         Undergraduate                 BSc                2013

因此,在上面的示例中,我希望仅在2016年之前拉出最上一行,因此比2013年晚。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

相当简单的任务 只需使用子查询作为条件。

要对查询进行分组,请在子查询中使用WHERE条件。请注意,由于我们要两次查询同一个表,我们需要使用表别名

SELECT * 
FROM MyTable t
WHERE t.YearAwarded = (
   SELECT Max(s.YearAwarded) 
   FROM MyTable s 
   WHERE s.StudentID = t.StudentID
)