2014-12-27 3 views
0
SELECT * FROM people 
WHERE 
university='2' 
AND MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) 
OR (fname LIKE '%box%' OR lname LIKE '%box%') 

Этот запрос позволяет результаты фильтрации через другие, чем university='2' как бы я обновить это так строго только показывает результаты, где университет = 2SQL оператор игнорирует, где параметр

Причина я совмещал полнотекстового поиск с помощью LIKE происходит из-за минимального количества букв, которое имеет полный текстовый поиск, и потому, что я участвую в общем плане хостинга, я не могу изменить настройки. В результате я объединил как полный текст, так и LIKE для размещения

Любая идея была бы очень полезной, спасибо!

ответ

4

Зафиксируйте ваши Скобки

SELECT * FROM people 
WHERE 
    university='2' 
    AND (MATCH (lname,fname) AGAINST ('+massive' IN BOOLEAN MODE) 
     OR fname LIKE '%box%' 
     OR lname LIKE '%box%') 

AND имеет более высокий приоритет, чем OR, так university = '2' в настоящее время только в сочетании с MATCH, а не с fname/lname испытаний.

+0

большое вам спасибо! – neeko

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