2017-08-11 70 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

哇!这是快速和有效的!我以为我以前尝试过类似的解决方案,但没有成功。但是这个真的有用:)谢谢! –

相关问题