Sql MS Access查询多个组和每个组的最大值-N

Sql MS Access查询多个组和每个组的最大值-N,sql,ms-access,greatest-n-per-group,Sql,Ms Access,Greatest N Per Group,好了,伙计们,这件事我已经到了极限了。我有一个查询,它是指一个单独的实际出勤表查询(qryEventDates)和一个计划出勤表(出勤时间表)。到目前为止,查询一直工作到学生(EventID)有多个计划(计划生效日期)为止。我输入了一个标准,将输出限制为只有的计划。EventID是StudentID吗? [计划生效日期]和[活动日期]之间有什么区别? 我建议用语言解释你想要解决的问题。。。也许一个不同的DB设计会有所帮助。我在做一个推断,但像这样的东西会有帮助吗: SELECT q.Studen

好了,伙计们,这件事我已经到了极限了。我有一个查询,它是指一个单独的实际出勤表查询(qryEventDates)和一个计划出勤表(出勤时间表)。到目前为止,查询一直工作到学生(EventID)有多个计划(计划生效日期)为止。我输入了一个标准,将输出限制为只有的计划。EventID是StudentID吗? [计划生效日期]和[活动日期]之间有什么区别?
我建议用语言解释你想要解决的问题。。。也许一个不同的DB设计会有所帮助。

我在做一个推断,但像这样的东西会有帮助吗:

SELECT q.StudentID, q.EventDate, s.[Schedule Effective Date]
FROM qryEventDates AS q INNER JOIN [Attendance Schedule] AS s 
ON q.StudentID = s.Student_ID
WHERE (((s.[Schedule Effective Date])=
(SELECT MAX([Schedule Effective Date]) FROM [Attendance Schedule] A 
WHERE A.[Student_ID]=s.[Student_ID] AND A.[Schedule Effective Date] <= [EventDate])))
ORDER BY q.EventDate

这正是我所需要的。我现在正处于事情的开始阶段,但这正是我解决一切问题所需要的。非常感谢你!
StudentID   EventDate   Schedule Effective Date
ST-AAR0000  2016-01-19  2016-01-19
ST-AAR0000  2016-01-20  2016-01-19
ST-AAR0000  2016-01-21  2016-01-19
ST-AAR0000  2016-01-22  2016-01-19
ST-AAR0000  2016-01-23  2016-01-19
ST-AAR0000  2016-01-24  2016-01-19
ST-AAR0000  2016-01-25  2016-01-19
ST-AAR0000  2016-01-26  2016-01-19
ST-AAR0000  2016-01-27  2016-01-19
ST-AAR0000  2016-01-28  2016-01-28
ST-AAR0000  2016-01-29  2016-01-28
ST-AAR0000  2016-01-30  2016-01-28
ST-AAR0000  2016-01-31  2016-01-28