我正在建立一个数据库来跟踪贷款设备。我正在尝试构建一个查询,显示每个机器位置的最新记录。
相关表格是:
变动:
目前的查询是:
SELECT Movements.Serial, Max(Movements.EntryDateMovements) AS MaxOfEntryDateMovements
FROM Movements
GROUP BY Movements.Serial;
其中吐出记录的最新日期以及与之关联的序列。
我需要的是在结果中显示的状态,但它仍然按序列分组。
我的问题是,当我尝试添加它时,它会返回一个错误,表达式不是聚合函数的一部分,或者我得到的结果比预期的多,因为它不再仅仅保持结果的唯一性到串口。
我是一个非常新的Access,到目前为止,我已经能够通过指南,书籍和这个网站,让其他一切工作,但我陷入了这个障碍。
非常感谢任何帮助。
答案 0 :(得分:0)
Select top 1 *
from Movements
order by EntryDateMovements desc
这将为您提供最新记录的所有内容。这是TSQL,但我认为它会延续到Access。
答案 1 :(得分:0)
试试这个
Select t.serial,t.EntryDateMovements ,t.location, t.status
From movements as t
Inner join (SELECT Movements.Serial, Max(Movements.EntryDateMovements) AS MaxOfEntryDateMovements
FROM Movements
GROUP BY Movements.Serial) as MaxMovements on t.serial= MaxMovements.serial and t.EntryDateMovements=MaxMovements.MaxOfEntryDateMovements