2014-03-25 22 views
0

我無法恢復重複地址的記錄。含義可以是具有相同郵政編碼但不同第一行地址的記錄。即使第一行地址與第一個地址不同,我開發的查詢也會將具有相同郵政編碼的所有記錄標記爲重複郵件。重複郵件記錄

下面是我所研製的定位重複,然後unstamp他們查詢:

update DATA set         
    Duplicate = 'DuplicateWithinItself' 
where 
    Postcode in (
     select Postcode 
     from DATA 
     group by FirstName, Address1, Postcode, Postcode 
     having count(*) > '1' 
    ) 

GO 

UPDATE Data             
SET Duplicate = 'NO' 
WHERE ID IN (SELECT MIN (ID) FROM Data GROUP BY Postcode) 

是否有人可以幫助我定義的記錄被實際使用相同的名字和地址的同一第一行(地址1複製)和郵政編碼。或者即使它是同一類地址和郵編的第一行,並被歸類爲重複郵件。然後,我想對一個版本的重複記錄進行取消。

+0

你有沒有問過同樣的quoestion [SQL服務器重複記錄(http://stackoverflow.com/questions/21682006/sql-server-duplicate-records)?似乎這是一個重複的話!!! –

回答

1

不太清楚你當前的查詢做什麼,但

;with Cte_Temp as (Select FirstName, Address1,Postcode, Duplicate ,PostcodeCount =ROW_NUMBER() 
       over(PARTITION By Postcode Order By Postcode) 
       From DATA) 

- 您可以通過

Select * 
    From Cte_Temp 
    Where PostcodeCount >1 

得到重複 - 您可以不更新,以及 例如

Update Cte_Temp 
    Duplicate ='xxx' 
    Where PostcodeCount >1 
+0

非常感謝您將上面列出的查詢選擇具有相同名字地址1和郵政編碼的記錄嗎? –

+0

@ Ap9_Jacka:目前只有郵編。你需要通過firstname address1和postcode的組合來獲得重複嗎? –