重复的邮件记录

时间:2014-03-25 13:52:32

标签: sql sql-server sql-server-2008 tsql

我无法恢复具有重复地址的记录。意思是可能存在具有相同邮政编码但不同的第一行地址的记录。我开发的查询用相同的邮政编码标记所有记录,即使第一行地址不同而且名字也不同。

下面是我开发的用于查找重复项的查询,然后取消加盖它们:

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)和邮政编码。或者即使它是相同的第一行地址和邮政编码被归类为重复。然后我想解压缩一个版本的重复记录。

1 个答案:

答案 0 :(得分: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

- 你也可以做更新 e.g。

   Update Cte_Temp 
   Duplicate ='xxx'
   Where PostcodeCount >1