工作流程是这样的:我如何找到类似的地址记录?
- 我接收优惠券的扫描数据(名字,姓氏,邮政编码,城市+其它信息)就可以了。
- 在创建新客户之前,如果客户可能已经存在,我必须搜索数据库。
现在我的问题:当没有可用的唯一ID时,找到现有客户的最佳方式是什么?
PS:我确实有数据库中的一个唯一的ID,只是没有在我们收到的优惠券;)
工作流程是这样的:我如何找到类似的地址记录?
现在我的问题:当没有可用的唯一ID时,找到现有客户的最佳方式是什么?
PS:我确实有数据库中的一个唯一的ID,只是没有在我们收到的优惠券;)
我们使用Levenshtein distance算法来检查用户是否有重复。但是,我们有相当严格的规则来输入数据本身,所以我们必须检查是否存在歪曲,情况差异等。
看到这个前面的问题:Parse usable Street Address, City, State, Zip from a string。
Soundex会帮助你,如果你需要类似的匹配。
您可以查询与给定数据匹配的所有客户的数据库,例如
SELECT ID FROM tbl_customers WHERE
first_name LIKE 'JOHN'
AND last_name LIKE 'Doe'
AND zip_code=12345
AND city LIKE 'Ducktown'
如果返回的行数为0,则在数据库中创建一个新条目。如果它是1,查询会给你这个ID。如果它大于1,你可能会有几个同名的客户住在同一地区,需要找到一种方法来处理这种情况。但是,这将在这里证明了一个新问题;-)
P.S:如果你没有唯一的ID的所有,重新设计你的数据库。
如果您有SQL Server 2005,则可以通过SSIS将数据带入,并使用模糊查找来检查相同性。
如果你真的想以正确的方式,简单的方式,完整的方式购买Netrics。
我们买了它,并包裹着它的应用程序,让我们的员工配合他们想要的任何东西。可以配置每列的置信区间,建立可以将Robert映射到Bob,并将John映射到Jack的文字区。这是令人惊叹的,并被该国一些较大的机构用于清理各种名单。