Нужен хелп с запросом (MATCH + LEFT JOIN, 2 таблицы)

Asar

Новичок
Нужен хелп с запросом (MATCH + LEFT JOIN, 2 таблицы)

Итак, изначалально делается поиск по полю price.Service - здесь все Ок (быть может, есть более рациональные варианты, но этот работает):

SELECT prices.Service, prices.Pr, prices.Price, pr.Title,
MATCH Service AGAINST ('".$_POST['search']."')

AS relev FROM prices LEFT JOIN pr ON pr.Id=prices.Pr
WHERE Service LIKE '%".$_POST['search']."%' OR pr.Title LIKE '%".$_POST['search']."%' ORDER BY relev DESC

Теперь хочу с помощью этого же запроса поискать еще и в поле pr.Title. Добавляю лишнюю строку (+), после чего выдается ошибка:
SELECT prices.Service, prices.Pr, prices.Price, pr.Title,
MATCH Service AGAINST ('".$_POST['search']."')
+MATCH pr.Title AGAINST ('".$_POST['search']."')
AS relev FROM prices LEFT JOIN pr ON pr.Id=prices.Pr
WHERE Service LIKE '%".$_POST['search']."%' OR pr.Title LIKE '%".$_POST['search']."%' ORDER BY relev DESC

Вопросы:
1. Можно ли искать в поле pr.Title с помощью того же запроса?
2. Если можно, то в чем моя ошибка? Или туда (...+MATCH pr.Title AGAINST...) вообще поля других таблиц вставлять нельзя?..
3. Будет ли такой поиск быстрее, чем поиск с отдельным запросом для pr.Title?

-~{}~ 03.02.05 11:59:

пп. 1 и 2 решены - ошибку нашел. Остается п. 3...
 

Popoff

popoff.donetsk.ua
LIKE '%".$_POST['search']."%' OR pr.Title LIKE '%".$_POST['search']."%'
hint: а если я введу одинарную кавычку, что тогда?


пп. 1 и 2 решены - ошибку нашел. Остается п. 3...
п.3 зависит от того, как ты исправил ошибку :)

зачем в where использовать like, если у тебя есть match? используй match в обоих случаях - однозначно будет быстрее.
 

Asar

Новичок
Если ты введешь одинарную кавычку, то это будет равнозначно тому, если бы ты ввел эту самую кавычку со слешем обратным перед ней - будет произведен поиск одинарной кавычки. Меня такой вариант вполне устраивает, или у него есть какие то серьезные минусы?

Лайк я использую (а не матч) - потому как с помощью него можно найти "телефоны" на запрос "телефон". С матчем такого, как я понимаю, не получится. А матч мне нужен для того, чтобы отсортировать по этой, прости господи, релевантности... Собственно, идея не моя - позаимствовал из соответствующей статье в деталях пхпклуба.
 
Сверху