我一直在試圖尋找一個解決方案來解決這個問題。我有兩個表具有以下字段如何使用基於SQL Server或R中多個列的類似匹配來比較兩個表
- 表1 -
OEM_NAME, OEM_MODEL, SUPPLIER - contains 413000 records
- 表2 -
OEM_Name, Model, Supplier_Name, SUPPLIER_MODEL - contains 208000 records
的問題是,該字段的值不完全匹配,我試圖在連接條件中使用多個字段的兩個表之間實現類似的比較。但是,這個查詢是永久執行的。是否有更好的方式在兩個具有多個字段的表之間實現類似的比較。我熟悉SQL Server和R,所以我非常感謝任何可以在這些平臺中工作的解決方案/指導。
SELECT COUNT(*)
FROM Catalog_Table as CAT
INNER JOIN POPULATION_TABLE AS POP
ON POP.OEM_NAME LIKE CONCAT(CAT.OEM_NAME,'%')
AND POP.OEM_MODEL LIKE CONCAT(CAT.MODEL,'%')
AND POP.SUPPLIER LIKE CONCAT(CAT.SUPPLIER_NAME,'%')
更新:
樣本數據:
我也嘗試另一種方法來解決這個問題。我串接在這兩個表中的輸入字段,以形成鍵,並試圖用此單一串聯字段進行匹配 - 無論確切和Levenshtein距離(模糊匹配)
所需的結果:
目標這裏是執行相似的匹配,然後手動掃描匹配的記錄以查看匹配是否有意義。
請提供樣本數據和預期的結果。 –
我已添加示例數據的屏幕截圖。這裏的目標是使用此查詢執行類似的匹配,然後手動掃描匹配的記錄並確定匹配是否有意義。 – Satbir