MS-ACCESS,JOIN SQL选择

问题描述

我正在尝试在MS-ACCESS 2013中构建数据库应用程序。在此应用程序中,我需要一个查询,该查询显示NotificationsOfDelay中的所有条目以及该项目的最后NotificationOfDelayStatus。最后意味着最大/最新时间戳。我已经尝试了几种Google SQL查询,但似乎无法正确完成。在我的代码下方

SELECT tblNotificationOfDelay.ID,tblNotificationOfDelayStatus.NotificationOfDelayID
FROM tblNotificationOfDelay 
INNER JOIN
(
SELECT TOP 1 tblNotificationOfDelayStatus.ID
FROM tblNotificationOfDelayStatus
WHERE tblNotificationOfDelayStatus.NotificationOfDelayID = tblNotificationOfDelay.ID
ORDER BY tblNotificationOfDelayStatus.TimeStamp DESC
);

任何人都可以伸出援手吗?

解决方法

我建议一个相关的子查询:

SELECT nod.ID,(SELECT TOP 1 nods.ID
        FROM tblNotificationOfDelayStatus as nods
        WHERE nods.NotificationOfDelayID = nod.ID
        ORDER BY nods.TimeStamp DESC
       )
FROM tblNotificationOfDelay as nod;

我不是100%确定相关条件正确。但是相关的子查询似乎就是您要尝试的操作。