Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server正在删除包含重复信息的条目_Sql_Sql Server - Fatal编程技术网

SQL Server正在删除包含重复信息的条目

SQL Server正在删除包含重复信息的条目,sql,sql-server,Sql,Sql Server,我需要生成一份报告,识别与其他客户使用相同身份证明的任何客户 经过一系列其他操作后,我得到了一个表,其中包含客户名称、客户编号以及注册时使用的身份证明编号,按ID编号分组,任何组只保留一个条目 问题在于,似乎有大量客户在其名下拥有多个帐户,这些帐户需要忽略,除非其他客户也使用相同的ID号,在这种情况下,需要保留具有该号码的所有条目 例如,我想删除条目1-3,因为它显然是同一个人,但保留4和5,因为6不匹配 ID # | Name | customer number

我需要生成一份报告,识别与其他客户使用相同身份证明的任何客户

经过一系列其他操作后,我得到了一个表,其中包含客户名称、客户编号以及注册时使用的身份证明编号,按ID编号分组,任何组只保留一个条目

问题在于,似乎有大量客户在其名下拥有多个帐户,这些帐户需要忽略,除非其他客户也使用相同的ID号,在这种情况下,需要保留具有该号码的所有条目

例如,我想删除条目1-3,因为它显然是同一个人,但保留4和5,因为6不匹配

       ID # | Name    | customer number   
   1 | 1111 | April   | 321  
   2 | 1111 | April   | 432  
   3 | 1111 | April   | 431  
   4 | 2222 | Bob     | 987  
   5 | 2222 | Bob     | 454  
   6 | 2222 | Charles | 159  

有什么好办法吗?

可能存在使用
的情况

SELECT ID,Name,[customer number]  
FROM dbo.Customer c1
WHERE EXISTS
(
    SELECT 1 FROM dbo.Customer c2
    WHERE c2.ID = c1.ID 
    AND   c2.Name <> c1.Name
)

(假设
[customer number]
是标识符,因为您没有显示pk列名)

可能存在使用
的情况

SELECT ID,Name,[customer number]  
FROM dbo.Customer c1
WHERE EXISTS
(
    SELECT 1 FROM dbo.Customer c2
    WHERE c2.ID = c1.ID 
    AND   c2.Name <> c1.Name
)
(假设
[customer number]
是标识符,因为您没有显示pk列名)