У меня есть главная таблица, в которой есть столбец для поискового запроса.
Упрощенный пример:
QueryTable
id query
1 hello new york
2 no information here
3 madison festival
Geotable
id suburb postcode
11 new york 123
12 brooklyn 345
13 madison 999
Если поисковый запрос имеет местоположение, я хочу получить почтовый индекс в примере результата следующим образом:
id query suburb postcode
1 hello new york new york 123
3 madison festival madison 999
В настоящее время я делаю это через SQL и возвращает желаемый результат (почти: с ошибками, такими как, если `inform '- это пригород, он будет получен, хотя мы хотим сопоставить полные слова).
SELECT QT.id, query, suburb, postocde
FROM Querytable as QT
INNER JOIN Geotable ON query LIKE concat('%',suburb,'%');
Поскольку вышеприведенные таблицы велики, как я могу улучшить этот запрос? Или есть лучший способ решить эту проблему?