问题是我需要在2行或更多行具有相同数据时更新一行,因此我需要比较同一列以进行更新。这将更好地解释我:
我有这个触发器(但我不想删除任何东西)
DELETE n1
FROM Codes_Cost n1, Codes_Cost n2
WHERE n1.Code = n2.Code and n1.PeriodID = n2.PeriodID
AND n1.ID < n2.ID;
我需要做类似的事情但更新另一行。像这样的东西
UPDATE Codes_Cost n2
SET n2.Status = 'Old'
WHERE n1.Code = n2.Code and n1.ID < n2.ID
但显然它不起作用。 我能做什么?什么样的查询可以帮助?
答案 0 :(得分:2)
如果我理解正确,这应该有用。
UPDATE Codes_Cost
SET Status = 'Old'
FROM Codes_Cost
INNER JOIN Codes_Cost n2 ON Codes_Cost.Code = n2.Code
WHERE
Codes_Cost.ID < n2.ID
编辑了不明确的表名。