【发布时间】:2010-06-25 17:57:41
【问题描述】:
我的下表结构如下:
所以基本上如您所见,该部门每隔几年就会更改名称。以 16 号为例。我想要一个仅在日期最大时才获取名称的选择查询。我该怎么做?
【问题讨论】:
-
访问表,使用access 2007
我的下表结构如下:
所以基本上如您所见,该部门每隔几年就会更改名称。以 16 号为例。我想要一个仅在日期最大时才获取名称的选择查询。我该怎么做?
【问题讨论】:
select ID, Name from departments o
where o.thedate=
(select max(i.thedate) from departments i where o.id=i.id)
【讨论】:
SELECT ID,
First(Name) AS FirstOfName, First(DateChange) AS FirstOfDateChange
FROM departments
GROUP BY ID
ORDER BY First(DateChange) DESC;
【讨论】:
这张表的主键是什么?这会通过名称比较对同一个表进行子查询。
SELECT
id,
name,
date
FROM table
WHERE name = (SELECT TOP 1 name
FROM table AS subtable
WHERE subtable.name = table.name
ORDER BY date DESC)
【讨论】:
选择 d.* 来自部门 d 内连接(选择 pk 从部门 按 ID 分组 有 theDate=MAX(theDate)) m ON m.pk=d.pk WHERE [名称]="部门"
【讨论】: