2014-04-29 107 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)