我正在开发一个MS-Access表,并希望有一个查询来查询某个id的最后一个条目的所有信息。
我的表格(DEPOSIT_MOVEMENTS)如下:
MOV_CODE | WORK | DEPOSIT_CODE | TYPE | DATE | DESTINATION
我希望为每个DEPOSIT_CODE获取最新的寄存器(日期),并获取* MOV_CODE以便我可以获得该项目的DESTINATION。
DEPOSIT_CODE在不同的日期可能有很多MOV_CODE。
我尝试过在stackoveflow上发布的不同选项,但我没有让其中任何一个正常工作。
现在我正在尝试使用GROUP BY,但无法使其正常工作。
SELECT t1.[DEPOSIT_CODE], MAX(t1.[DATE]), t1.[MOV_CODE]
FROM [DEPOSIT_MOVEMENTS] AS t1
GROUP BY t1.[DEPOSIT_CODE];
欢迎任何帮助或指导。
亲切的问候,
答案 0 :(得分: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
);