我怎样才能找到类似的地址记录?

时间:2008-10-01 08:58:01

标签: sql database

工作流程如下:

  1. 我收到一张优惠券的扫描件,上面有数据(名字,姓氏,邮编,城市+ misc信息)。
  2. 在创建新客户之前,如果客户可能已经存在,我必须搜索数据库。
  3. 现在我的问题是:当没有可用的唯一身份证时,找到现有客户的最佳方式是什么?

    PS:我在数据库中确实有一个唯一的ID,而不是我们收到的优惠券;)

5 个答案:

答案 0 :(得分:3)

我们使用Levenshtein distance算法检查用户是否有重复。但是我们有非常严格的规则来输入数据本身,因此我们只需要检查错误分析,案例差异等。

答案 1 :(得分:2)

请参阅上一个问题:Parse usable Street Address, City, State, Zip from a string

如果您需要类似的匹配,

Soundex会对您有所帮助。

答案 2 :(得分:2)

如果您真的想以正确的方式,简单的方式,以及完整的方式购买Netrics。

http://www.netrics.com/

我们买了它,并在它周围包裹了一个应用程序,让我们的员工可以匹配任何他们想要的东西。可以为每列配置置信区间,构建叙述,您可以将Robert映射到Bob,将John映射到Jack。令人惊讶的是,该国一些较大的机构使用它来清理各种清单。

答案 3 :(得分:0)

如果您有SQL Server 2005,则可以通过SSIS引入数据并使用模糊查找来检查相同性。

答案 4 :(得分:-3)

您在数据库中查询与给定数据匹配的所有客户,例如

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,请重新设计数据库。