MS Access选择不同的记录

时间:2014-06-26 19:30:15

标签: sql ms-access-2010

我正在使用MS Access 2010:

我正在制作日历,并希望每天都能展示独特的活动类型。有人可以帮我解决这个问题。

这就是表格的样子

活动

 - Event_ID (PK)
 - Event_type_id (FK)
 - Event_name
 - Event_Date

这是我的数据:

1, 1, Test Event 0, 06/06/2014    
2, 1, Test Event 1, 06/06/2014   
3, 1, Test Event 2, 06/07/2014    
4, 2, Test Event 3, 06/07/2014    
5, 3, Test Event 4, 06/09/2014

我需要查询只为每个日期返回每种类型的1个事件..

1 个答案:

答案 0 :(得分:1)

您可以使用聪明的where子句来执行此操作:

select e.*
from Events as e
where not exists (select 1
                  from Events as e2
                  where e2.event_date = e.event_date and e2.event_type_id = e.event_type_id and
                        e2.event_id > e.event_id
                 );

这将返回每种类型的每个日期具有最大事件ID的行。