Sql 更新查询-查找最年轻的日期并更新另一个值

Sql 更新查询-查找最年轻的日期并更新另一个值,sql,ms-access,ms-access-2016,Sql,Ms Access,Ms Access 2016,我有一个带有以下字段的访问表TBlexSample:ID、tripID、日期、值 现在我在SQL中寻找一个更新查询,它实现了这一点:获取tripID=2的记录。从所有数据中选择日期最早且设定值为14的数据 应该很容易,但不要让它发挥作用。感谢您的帮助。您可以使用where子句中的子查询向下筛选到所需的行: update tblExample set value = 14 where tripID = 2 and dates = (select max(e2.d

我有一个带有以下字段的访问表TBlexSample:ID、tripID、日期、值

现在我在SQL中寻找一个更新查询,它实现了这一点:获取tripID=2的记录。从所有数据中选择日期最早且设定值为14的数据


应该很容易,但不要让它发挥作用。感谢您的帮助。

您可以使用where子句中的子查询向下筛选到所需的行:

update tblExample
    set value = 14
    where tripID = 2 and
          dates = (select max(e2.dates)
                   from tblExample as e2
                   where e2.tripID = tblExample.tripID
                  );
或基于id:

update tblExample
    set value = 14
    where tripID = 2 and
          id = (select top (1) e2.id
                from tblExample as e2
                where e2.tripID = tblExample.tripID
                order by e2.dates desc
               );