通过搜索几个字符来查找重复记录
Finding duplicate records by searching a few characters
我知道这个标题下回答了很多问题。但我相信我有一个独特的情况,我需要一种特定的方法来从我的数据库中查找和导出重复数据。
我有一个包含 20.000 多个联系人的数据库。我需要一个查询来查找联系人 table 中的重复记录。但是由于有很多相同的姓氏,或者不同人的名字,我想查找名字和姓氏的前几个字符,看看是否有与查询匹配的重复记录。
因此,查询可以这样解释:查看 firstName 列的前两个字符,然后查看 lastName 列的前三个字符,并将其与任何类似记录一起显示。
如果有任何建议,我将不胜感激。谢谢。
这是我的做法,假设您的联系人 table 称为联系人:
select *
from contacts c
join contacts c2 on c2.id!=c.id
and left(c2.firstName,2)=left(c.firstName,2)
and left(c2.lastName,3)=left(c.lastName,3)
我知道这个标题下回答了很多问题。但我相信我有一个独特的情况,我需要一种特定的方法来从我的数据库中查找和导出重复数据。
我有一个包含 20.000 多个联系人的数据库。我需要一个查询来查找联系人 table 中的重复记录。但是由于有很多相同的姓氏,或者不同人的名字,我想查找名字和姓氏的前几个字符,看看是否有与查询匹配的重复记录。
因此,查询可以这样解释:查看 firstName 列的前两个字符,然后查看 lastName 列的前三个字符,并将其与任何类似记录一起显示。
如果有任何建议,我将不胜感激。谢谢。
这是我的做法,假设您的联系人 table 称为联系人:
select *
from contacts c
join contacts c2 on c2.id!=c.id
and left(c2.firstName,2)=left(c.firstName,2)
and left(c2.lastName,3)=left(c.lastName,3)