在比较重复搜索中找到的结果后,TSQL删除表中的重复项

时间:2015-08-20 13:47:46

标签: sql sql-server sql-server-2014

我在一个表中有重复的数据。

表格布局

 accountNumber | firstName | lastName | address | zip 
 SMI2365894511 | Paul      | Smith    | 1245 Rd | 89120
 SMI2365894511 | Paul      | Smith    |         |

我有以下查询来查找和显示重复项。

select *
  from tableA a
  join (select accountNumber
          from tableA 
          group by accountNumber
         having count(*) > 1 ) b
    on a.accountNumber = b.accountNumber

我想要做的是比较上述查询的结果并删除没有任何地址信息的副本。我正在使用MS SQL Server 2014

编辑**我有查询的方式,所以可以看到两个重复的行

1 个答案:

答案 0 :(得分:1)

delete a 
  from XmaCustomerDetails a
  join ( select accountNumber
           from XmaCustomerDetails 
          group by accountNumber
         having count(*) > 1 ) b
    on a.accountNumber = b.accountNumber
WHERE address is null