2

私はこのDBAに不慣れで、いくつかのテーブルから重複を削除する必要があります。私はSQLServerで働いています。それらはすべて、最後の更新を追跡する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 に答える