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

ktca8awb  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(273)

我有一个带有以下字段的访问表tblexample:id,tripid,dates,value。
现在我在sql中寻找一个更新查询,它实现了以下功能:获取tripid=2的记录。从它们中选出一个最年轻的日期,设定值为14。
应该很容易,但不要让它发挥作用。谢谢你的帮助。

7xllpg7q

7xllpg7q1#

可以在中使用子查询 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
               );

相关问题