sql - 在多个表中查找相似的名称

标签 sql sql-server tsql sql-like

我有多个具有不同客户名称的表。我试图找出表中同名的次数。这里的挑战是有人可能输入了“John Smith”或“Smith, John”这样的名字。

每个表中有 40,000 行和 40 多个不同的表。我试图在不知道名字的情况下以某种方式查询,但仍然返回类似的名字。

基本上我需要在不使用如下语句的情况下对相似的名称进行分组:

WHERE cust_name LIKE '%john%'

当数据格式可能不同时,如何使用其他表列的内容查询多个表列?您如何最好地“清理”数据以删除逗号、空格等?

最佳答案

好吧,您可以在 SSIS 中使用模糊逻辑。我已经成功地使用模糊分组找到了重复项——尽管你会希望匹配的不仅仅是名字,因为有很多人共享相同的名字。我已经使用姓名、地址、电话和电子邮件进行了匹配。模糊分组允许您使用多个字段进行匹配。

关于sql - 在多个表中查找相似的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3141636/

相关文章:

sql - 存储过程运行速度比查询慢很多

MySQL 查询优化 - 现有查询运行速度太慢

php - SQL 查询错误

sql - Oracle SQL 查询中的常量

asp.net - 来自IIS ASP.NET容器的SQL连接问题

sql - 使TSQL插入/更新即使在多线程的情况下也能正常工作

mysql - 将 SELECT LEFT() 应用于多列组合的总字符数

sql - 通过 exec SP 执行相同的代码与在查询窗口中执行 SP 代码报告相同的结果,但执行时间不同

c# - 为什么单元测试在 Visual Studio 2015 for SQL Server 项目中变灰?

sql - t-sql BETWEEN 子句