sql-server - 识别 SQL Server 中的相似记录
问题描述
我正在清理客户表。客户表接收来自 4 个不同来源的数据,并且有许多重复记录。我正在使用规则组合来识别类似的客户记录。我的规则是:
- 他们有相同的名字、姓氏、电子邮件和手机
- 他们有相似的姓氏、手机和电子邮件
- 他们有相似的名字、姓氏和电子邮件。
我想为他们分配一个新的 unique_id,如下面的输出:
这是表和数据的代码:
CREATE TABLE dbo.customer(
customer_id int,
first_name varchar(100),
last_name varchar(100),
email varchar(100),
mobile varchar(20),
unique_id int)
GO
INSERT INTO dbo.customer(customer_id, first_name, last_name, email, mobile)
values (5475872,'','SMITH','john.smith@fakeemail.com','123456'),
(623073,'JOHN','SMITH','john.smith@fakeemail.com','123456'),
(1286681,'JOHN','SMITH','john.smith@fakeemail.com','123456'),
(1303103,'JOHN','SMITH','john.smith@fakeemail.com','123456'),
(7063902,'JOHN','SMITH','john.smith@fakeemail.com','987654'),
(1808155,'JOHN','SMITH','john.smith@fakeemail.com','123456'),
(2151985,'','SMITH','john.smith@fakeemail.com','123456'),
(7221764,'JOHN','SMITH','john.smith@fakeemail.com','987654'),
(1870704,'JOHN','','john.smith@fakeemail.com','123456'),
(887842,'BILL','GATES','bill@microsoft.com','555555'),
(736363,'','GATES','bill@microsoft.com','555555')
GO
谁能帮助我如何根据不同的组合生成该 unique_id 列?
谢谢
解决方案
推荐阅读
- excel - 分组计数
- jquery - 如何设置fancybox minHeight 和maxHeight?
- google-cloud-platform - 是否可以使用 gcloud 凭据调用 GCP API?
- javascript - 将数组中的值添加到对象javascript
- scichart - ios的垂直堆叠轴
- javascript - w3-include-html,javascript 不适用于向元素添加和删除类
- css - 我的侧边栏小部件的样式错误
- c - Arduino 卡住和 serial.println 输出集结在一起
- php - 如何编写 Gmail 重定向 URL?
- postgresql - PostgreSQL 用户对 Apache Zeppelin 用户的权限