Microsoft Access-查询-最新条目

时间:2020-07-24 19:30:40

标签: sql ms-access

我在Microsoft Access中有一个主表,该主表由文档编号“ AD”,修订版本“ Rev”和“决策日期”组成。每个AD偶尔会有1个以上的修订,每个修订有1-2个决策日期。我想创建一个按决策日期选择最新条目的查询,并创建一个仅包含最新条目的新表。此新表的目的是仅具有唯一的AD,以便可以将AD用作主键并与数据库中的其他对象相关。

Current Table: tbl1_Complete_Data  
+----+--------+-----+---------------+  
| ID |   AD   | Rev | Decision Date |  
+----+--------+-----+---------------+  
|  1 |98-24-02|  0  | 1998-06-20    |  
|  2 |98-24-02|  0  | 1998-06-21    |  
|  3 |98-24-02|  1  | 1998-06-24    |  
|  4 |98-24-02|  1  | 1998-06-24    |  
|  5 |98-24-03|  0  | 1998-06-24    |  
|  6 |98-24-03|  0  | 1998-06-24    |  
+----+--------+-----+---------------+  

New Table: tbl2_Report_Data  
+----+--------+-----+---------------+  
| ID |   AD   | Rev | Decision Date |  
+----+--------+-----+---------------+  
|  3 |98-24-02|  1  | 1998-06-24    |  
|  5 |98-24-03|  0  | 1998-06-24    |  
+----+--------+-----+---------------+  
^The goal of this table is to get rid of ID.

1 个答案:

答案 0 :(得分:0)

考虑:

SELECT tbl1_Complete_Data.* FROM tbl1_Complete_Data WHERE ID IN (
    SELECT TOP 1 ID FROM tbl1_Complete_Data AS Dupe 
    WHERE Dupe.AD = tbl1_Complete_Data.AD ORDER BY Dupe.DecisionDate DESC, Dupe.ID);

强烈建议在命名约定中不要使用空格或标点符号/特殊字符。