【发布时间】:2017-07-25 15:09:19
【问题描述】:
我的数据库中有一个表,其中有大约 10 万个客户,并且有一个错误的系统已经存在了很长一段时间,我们才发现我们可能有成千上万的重复记录,这不应该有被重复了。
这是表格的基本结构...
ClientID FName LName DOB SysEMID
----------------------------------------------------------------------
123 Janette Marukan 1/2/1990 111111S
478 Jannete Maruckan 1/2/1990 111111S
这些不是系统中的所有字段,但我的目标是能够在我的搜索查询中使用上面的列。因此,我尝试获取名字和姓氏、DOB 以及 SysEMID 的前 2 或 3 个字母,并查找所有可能重复的记录。
从上表中可以看出我有两个客户端,但它们的名称略有不同——实际上这两个客户端都是相同的,但它们在系统中保存为两个。有没有办法让我以某种方式查询整个表并找到它?
我真的没有 1 个特定的客户 - 它更像是一种通用的查询,向我展示具有相同 2 或 3 个字母的 1st Name、Last Name 和 DOB 的潜在客户重复项?
【问题讨论】:
-
为什么不简单地做一个
ORDER BY SUBSTRING()?长度为 3 的初学者 -
DOB 字段相隔 10 年。这些真的是同一个客户吗?
-
@GordonLinoff - 是的,它们应该是一样的。抱歉……我只是抄袭
标签: sql sql-server