SQL Query用于选择重复的注册

时间:2013-05-29 08:36:36

标签: sql duplicates

对于提前看似这么简单的问题,我很抱歉...

我有一张包含数百万行实验室数据的表格以及以下字段(其中包括)

  • 实验室参考编号
  • 用名字
  • DOB

我需要做一个查询,它会给我所有不同的实验室参考编号 ,名称,姓氏和DOBs所在的实验室参考编号 有多个相关的姓,姓和DOB。

即。查询以突出显示实验室参考编号与其相关的重复候选人的位置

e.g。

12345, Bob, Smith, 30/038/1981
12345, Fred, Smith, 31/03/1981

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

SELECT * FROM TABLE WHERE REF IN
  (SELECT REF FROM TABLE GROUP BY REF HAVING COUNT(*) > 1)

如有必要,您还可以使用SELECT DISTINCT *

答案 1 :(得分:1)

select  RefNr
,       Forename
,       Surname
,       DOB
from    YourTable yt1
where   exists
        (
        select  *
        from    YourTable yt2
        where   yt1.RefNr = yt2.RefNr
                and 
                (
                    yt1.Forename <> yt2.Forename
                    or yt1.Surname <> yt2.Surname
                    or yt1.DOB <> yt2.DOB
                )
        )