2016-06-08 35 views
0

我在Access中編寫了以下查詢。訪問使用Inner Join從最大日期的另一個表中選擇1條記錄

我終於得到它保存沒有錯誤,但是當我點擊數據表視圖,該表顯示從表中的所有記錄2.

表1具有獨特的ID和ID是在多行表2中(1對多)。我只需要通過選擇Max(MyRecentDate)來獲取最近的記錄。但是,我的返回VIEW包含ID的所有行。我怎樣才能使這個查詢工作,只選擇一個記錄與表2中MAX日期?

感謝....

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

改變的選擇MAX(..)作爲MAXDATE的使用最多,並添加...和[表2] .MyRecentDate = MAXDATE – Christopher

+0

我把它'NameDesc'可以是不同的對於相同的'ID'? –

回答

0

這應該很好地工作。請注意,您可以就地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] 
相關問題