我在Access中编写了以下查询。
我终于得到了保存而没有错误但是当我点击DataSheet View时,该表显示了表2中的所有记录。
Table1具有唯一ID,并且该ID在table2中有多行(1到多个)。我只需要通过选择Max(MyRecentDate)来获取最新的记录。但是,我的返回VIEW包含ID的所有行。如何才能使此查询仅使用表2中的MAX Date选择一条记录?
...谢谢
SELECT
[table1].FirstName,
[table1].MiddleName,
[table1].LastName,
[table2].NameDesc,
[table2].MyRecentDate
FROM [table1]
INNER JOIN
(
SELECT [table2].ID, [table2].NameDesc, MAX( [table2].MyRecentDate) as MyRecentDate
FROM [table2]
GROUP BY [table2].ID,[table2].NameDesc
) [table2]
ON [table1].[ID] = [table2].[ID];
答案 0 :(得分:0)
这应该可以正常工作。请注意,您可以使用max代替TOP 1
SELECT
[table1].FirstName,
[table1].MiddleName,
[table1].LastName,
(SELECT TOP 1 [table2].NameDesc FROM [table2] WHERE [table1].[ID] = [table2].[ID]) AS NameDesc,
(SELECT TOP 1 [table2].MyRecentDate FROM [table2] WHERE [table1].[ID] = [table2].[ID]) AS MyRecentDate
FROM [table1]