2015-04-19 3 views
1

У меня есть две таблицы предприятий, мне нужно выбрать (искать) между таблицами по названию компании. например: если в одной таблице у меня есть бизнес с именем «Alcantara furniture network» с идентификатором 1, в другой таблице имя «Alcantara furniture» с id 2. идентификатор 2 должен быть возвращен при поиске из первой таблицы с идентификатором 1.поиск подстроки в строке mysql

Я попытался написать запрос с помощью LIKE, но это не помогает, потому что он не вернет другой бизнес (id 2). как я могу найти подстроку в строке в mysql?

+0

Как выглядит запрос? – krock

+0

выбрать bussid, имя от tempBusiness WHERE name LIKE "% Alcantara мебельная сеть%". это должно возвращать бизнес-идентификатор 2. –

ответ

0

Вы должны изменить как запрос, чтобы выбрать то, что является общим около 2-х значений, то есть «Alacantara мебель»:

select bussid,name 
from tempBusiness 
WHERE name LIKE '%Alcantara furniture%' 

строка «сеть» появляется только в одном из имен, так WHERE name LIKE '%Alcantara furniture network%' только будет соответствовать одному.

+0

Это очень большая таблица (с 200K строк), это только конкретная ситуация. в этой строке это сеть, другая может быть что-то другое. есть ли другой способ рядом с запросом? –

+0

, если вы знаете начало строки, которая может многое помочь, особенно если вы поместили индекс в столбец имен (запросы с: 'like '% ...'' не будут использовать какие-либо индексы). – krock

Смежные вопросы