2017-08-11 77 views
1

我正在使用MS-Access表,並且想要查詢以從某個ID導致最後一個條目的所有信息。爲Access中的每個ID選擇最後一個移動

我的表(DEPOSIT_MOVEMENTS)如下:

MOV_CODE | WORK | DEPOSIT_CODE | TYPE | DATE | DESTINATION 

我期待獲得每個DEPOSIT_CODE最新寄存器(對日),並獲得* MOV_CODE,這樣我可以得到的目的地項目。

DEPOSIT_CODE在不同日期可能有許多MOV_CODE。

我嘗試了不同的選項張貼在stackoveflow上,但我coudl沒有得到任何這些正常工作。

現在我正在嘗試與GROUP BY,但無法讓它工作。

SELECT t1.[DEPOSIT_CODE], MAX(t1.[DATE]), t1.[MOV_CODE] 
FROM [DEPOSIT_MOVEMENTS] AS t1 
GROUP BY t1.[DEPOSIT_CODE]; 

歡迎任何幫助或指導。

親切的問候,

回答

0

這裏有一個方法:

SELECT dm.* 
FROM [DEPOSIT_MOVEMENTS] AS dm 
WHERE dm.DATE = (SELECT MAX(dm2.DATE) 
       FROM [DEPOSIT_MOVEMENTS] AS dm2 
       WHERE dm2.DEPOSIT_CODE = dm.DEPOSIT_CODE 
       ); 
+0

哇!這是快速和有效的!我以爲我以前嘗試過類似的解決方案,但沒有成功。但是這個真的有用:)謝謝! –

相關問題