我是 DBA 方面的新手,我的任务是从几个表中删除重复项。我在 SQL Server 工作。它们都有一个名为 LAST_UPD 的字段来跟踪它们的最后更新。所有表都连接到 TABLE1,每个用户都由 TABLE1.ALIAS_KEY 标识。连接如下。我想知道如何清除所有重复的行并保留 Table2 中的最新条目。感谢您的帮助!
FROM dbo.Table1 T1
LEFT JOIN dbo.Table2 T2
ON (T1.PARROW = T2.PARROW)
最佳答案
假设(我可能是不正确的)上次更新是唯一的,您可以这样做:
DELETE FROM dbo.Table2 T2 WHERE T2.LAST_UPD NOT IN
(SELECT max(LAST_UPD) FROM dbo.Table2 T2
LEFT JOIN dbo.Table1 T1 ON (T1.PARROW = T2.PARROW)
GROUP BY T1.ALIAS_KEY)
关于sql - 在 SQL Server 中删除带有联接的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334076/