工作流程是這樣的:我如何找到類似的地址記錄?
- 我接收優惠券的掃描數據(名字,姓氏,郵政編碼,城市+其它信息)就可以了。
- 在創建新客戶之前,如果客戶可能已經存在,我必須搜索數據庫。
現在我的問題:當沒有可用的唯一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的文字區。這是令人驚歎的,並被該國一些較大的機構用於清理各種名單。