2

我是这个 DBA 的新手,我的任务是从几个表中删除重复项。我在 SQL Server 中工作。他们都有一个名为 LAST_UPD 的字段来跟踪他们的最后一次更新。所有表都连接到 TABLE1,每个用户都由 TABLE1.ALIAS_KEY 标识。连接如下。我想知道如何清除所有重复的行并保留 Table2 中的最新条目。谢谢您的帮助!

FROM dbo.Table1 T1
LEFT JOIN dbo.Table2 T2
    ON (T1.PARROW = T2.PARROW)
4

1 回答 1

2

假设(我可能不正确)上次更新是唯一的,您可以这样做:

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) 
于 2012-09-08T20:22:23.517 回答