Я пытаюсь найти решение для этого в течение нескольких дней. У меня есть две таблицы со следующими полямиКак сравнить две таблицы с использованием аналогичного соответствия на основе нескольких столбцов в 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,'%')
Update:
Образец данных:
Я также попробовал другой подход к решению этой проблемы. Я сцепляюсь полей ввод в обеих таблицах, чтобы сформировать ключ и попытался использовать это единственное сцепленное поле, чтобы выполнить матч - как точный и Левенштейн (нечеткое соответствие)
Желаемого результата:
Цели здесь выполнить аналогичное совпадение, а затем вручную отсканировать сопоставленные записи, чтобы увидеть, имеет ли смысл смысл.
Просьба представить выборочные данные и желаемые результаты. –
Я добавил скриншот образцов данных. Целью здесь является использование этого запроса для выполнения аналогичного совпадения, а затем сканирование согласованных записей вручную и определение соответствия смысла. – Satbir