2011-08-08 66 views
1

如何從數據庫表中的N個重複記錄更新(N-1)記錄(SQL Server 2005)如何從數據庫表中的N個重複記錄更新(N-1)記錄(SQL SERVER 2005)

背景:在比較和插入其他兩個表中的記錄後,我正在生成一個臨時表。

所以臨時表中有一些記錄,其中有一些重複的領域(比如:訂單ID,交易編號等) - 但不同

我取這樣的所謂的重複記錄,但沒有得到如何在這N個記錄中更新N-1個記錄。

任何幫助表示讚賞(尤其是示例代碼)。 在此先感謝。

回答

1
WITH duplicates AS (
    SELECT 
    ROW_NUMBER() OVER (PARTITION BY x,y,z ORDER BY a,b,c) AS duplicate_id, 
    * 
    FROM 
    myData 
) 

UPDATE 
    duplicates 
SET 
    foo = bar 
WHERE 
    duplicate_id > 1 

x,y,z是識別重複項所需的字段。這可能是所有字段,具體取決於您對重複的定義。

+0

WOW它的工作原理。謝謝德姆 - 這真棒。 – Saliaziz

相關問題