首页 > 解决方案 > MS-ACCESS,加入 SQL 选择

问题描述

我正在尝试在 MS-ACCESS 2013 中构建数据库应用程序。在此应用程序中,我需要一个查询,显示 NotificationsOfDelay 中的所有条目与该项目的最后一个 NotificationOfDelayStatus 连接。最后意味着最大/最新的时间戳。我已经尝试了几个谷歌的 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
);

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

标签: sqljoinmaxms-access-2013

解决方案


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

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% 确定相关条件是否正确。但是一个相关的子查询似乎是你想要做的。


推荐阅读