您好,我有一个包含合同的表,另一个有包含对这些合同所做的所有更改的表。 现在,我需要使用modifydate列更新所有合同。这应该是合同上的最新更改。 在更改表中有日期,因此我需要获取每个合同的最新现有日期。 我已经设法在mssql中执行脚本,但是在mysql中却无法正确执行。 也许有人可以帮助我。
Mssql
update Contract SET
Contract.ModifiedBySystemUserId =
(select top 1 eh2.SystemUserId FROM EntityHistory eh2 WHERE eh2.EntityId = eh.EntityId
and eh2.EntityType = 5 ORDER BY eh2.EventDate DESC)
from
Contract c
INNER JOIN EntityHistory eh on eh.EntityType = 5 and c.contractId = eh.EntityId
答案 0 :(得分:2)
请使用以下查询:
update Contract c
INNER JOIN EntityHistory eh on eh.EntityType = 5 and c.contractId = eh.EntityId
SET Contract.ModifiedBySystemUserId = (select eh2.SystemUserId
FROM EntityHistory eh2
WHERE eh2.EntityId = eh.EntityId and eh2.EntityType = 5
ORDER BY eh2.EventDate DESC LIMIT 1)