MYSQL Колонки нечетких совпадений
Я пытаюсь сопоставить примерно одинаковые названия компаний между столбцами. Я использовал
SELECT *
FROM table1
LEFT OUTER JOIN table2
ON table2.company_name
LIKE CONCAT('%', table1.company_name, '%')
OR table1.company_name
LIKE CONCAT('%', table2.company_name, '%')
А также другие методы, такие как REGEXP и даже алгоритм Левенштейна для MYSQL, не повезло. Вышеуказанный метод, кажется, соответствует ~60% строк, но не остальным. Я не мог найти шаблон с теми, которые не соответствовали бы, так как многие из тех, которые не соответствовали бы, выглядели очень как те, которые делают. Есть ли другой способ сопоставить еще больше имен поверх этого метода? Например, как использовать LIKE CONCAT для первых нескольких символов каждой строки в столбцах?
РЕДАКТИРОВАТЬ: В ответ на некоторые комментарии, я также добавил выше с
OR (table1.company_name != table2.company_name) AND (SOUNDEX(table1.company_name) = SOUNDEX(table2.company_name))
Что дает мне тот же результат, что и приведенный выше код, поэтому кажется, что SOUNDEX тоже не помогает. Кроме того, я думал, что FULLTEXT неприменим при попытке найти частичные совпадения между столбцами. Если нет, то может ли кто-нибудь проиллюстрировать мне, как это сделать?