2013-12-19 45 views
1

我有兩個合同列表,每個合約都有過去的結束日期。每當結束日期得到更新或擴展時,原始表格中將創建一條新記錄。另一個只有合同編號和產品描述。第一個看起來像這樣:SQL查詢中的MAX語句

Contract End Date 
AAA001  12/01/2013 
AAA001  12/30/2013 
BBB002  01/01/2014 
BBB002  01/30/2014 

您可以看到,對於每個合同,每個合同的結束日期都是每次更新。

Contract Product 
AAA001  Apples 
AAA001  Apples 
BBB002  Oranges 
BBB002  Oranges 

我需要一個查詢,這將產生一個像這樣的只有最大日期值返回的表。

Contract Product End Date 
AAA001  Apples 12/30/2013 
BBB002  Oranges 01/30/2014 

是否有可能使用Mas ...在聲明中?我使用Access 2010中

+0

使用GROUP BY只產品加入到實現這一 –

回答

5

嘗試此查詢

Select Contract, product, MAX(endDate) FROM table1 
INNER JOIN table2 ON table1.contract = table2.contract 
group by contract, product 
+0

對不起它仍然返回所有的不同的日期。 – user2907249

+0

你能告訴我一個它返回的例子嗎? – Elias

+0

啊,我現在看到,我會盡力給你一個更好的例子,下一次我得到的機會。我相信你會需要像公共表格表達式這樣的東西,例如http://stackoverflow.com/a/18869541/1504882 – Elias