我正在尝试更新连接到另一个表的表中的某些行。左表按ID索引;右表连接在同一个 ID 上,但每个 ID 有多个行。我的查询看起来像:
UPDATE t1
SET t1.modified = t2.created
FROM table1 t1
INNER JOIN table2 t2
ON t1.ID = t2.ID
请注意,t1.modified 和 t2.created 都是日期时间。如前所述,t2 每个 ID 有几行,每行都有不同的 created 值(因此主键是 t2,created)。我想要做的是设置 t2.created=t1.modified 的最大值。但是,在加入时, t1.modified 值不会以特定顺序更新,因此无论哪一行最后更新,这就是 t1.modified 获得的值。我尝试使用 t1.modified=max(t2.created),但显然我不能在更新查询中使用聚合函数,也不能使用 order 子句(即对行进行排序,以便更新的最后一行有效地成为更新查询中的 t2.created 的最新值。
非常感谢您能为我提供的任何帮助!谢谢!!