选择具有相同社会安全号码不同徽章编号的用户

时间:2018-02-14 14:45:21

标签: sql oracle

您好,因为标题建议我需要帮助编写执行此操作的查询。我需要找到所有已更改徽章编号的用户。因此,在数据库中,同一个人通常有两条记录,但两者都有不同的徽章编号。如果社交比赛,我假设它是同一个人。

表:

Badge_no | SSN 
123123 | 387-47-1234 2
34837 | 387-47-1234 
837532 | 543-45-6392 
584391 | 543-45-6392

在这种情况下,我希望它输出:

837532 | 543-45-6392 
584391 | 543-45-6392

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信以下应该可以解决这个问题:

SELECT *
FROM yourtable
WHERE SSN IN (SELECT SSN FROM yourtable GROUP BY SSN HAVING Count(*) >=2);

该子查询将返回具有多条记录的SSN。我们使用这些SSN再次从表中选择以获取与其关联的所有字段。