我正在使用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个事件..
答案 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的行。