2014-04-29 70 views
0

我有一个每天获取新数据的Access数据库。每组数据包含多个类别,每个类别可能有0个或多个记录。MS Access SQL从每个类别获取最新记录

每天我都会将这些数据附加到数据库中,并在今天的日期增加一列。因此,相同的记录可能跨越多天存在。

例如,我有列可能包括:

  • 类别
  • Detail1
  • Detail2
  • ...
  • REPORT_DATE

我需要得到什么从这个数据库是每个类别下的最新细节。

一些我所面临的问题是

  1. 记录数每个类别和每天不同。我不能只从每个类别获得固定数量的记录。
  2. 并非所有类别在同一天都有记录,所以我无法确定日期作为检索每个类别记录的最新日期。

有没有什么好的方法可以通过SQL除了UNION每一个类别呢?

在此先感谢您的帮助。

回答

0

我只是想通了。我可以使用子查询来做到这一点。

在这里。

SELECT * 
FROM my_table AS T1 
WHERE T1.report_date = (SELECT MAX(report_date) 
         FROM my_table AS T2 
         WHERE T1.category = T2.category)