У меня есть общий предел для пагинации, который отображает 30 элементов на страницуЗапроса из нескольких таблиц, разделяющих же LIMIT
Теперь мне нужно, чтобы получить результаты, используя матч против 3 различных таблиц, и получить 3 полей от каждого из столы.
полей Таблица A news_id, название, содержание Таблица полей B events_id, название, содержание Таблица полей C enc_id, название, содержание
А где состояние
WHERE (MATCH (title) AGAINST('{$search}') OR MATCH(content) AGAINST('{$search}')OR MATCH(resume) AGAINST('{$search}'))
Также каждая строка таблицы имеет поле состояния, которое должно быть равно 1 в условии where.
В конце мне нужно сделать LIMIT $start_from, 30
для глобального запроса
Любой возможный способ сделать это?
** EDIT **
Это вопрос, который я использую для одной таблицы
"SELECT
news_id,title,
FROM news
WHERE (MATCH (title) AGAINST('{$search}') OR MATCH(resume) AGAINST('{$search}')OR MATCH(content) AGAINST('{$search}')
AND noticias.status = 1
LIMIT 0, 30"
И это то, что я пытался, но безуспешно. он должен привезти 7 строк, но приносит 30 вместо них
SELECT
news.news_id AS id,
events.events_id AS id,
enc.enc_id AS id,
news.title AS title,
events.title AS title,
enc.title AS title
FROM news, events, enc
WHERE (MATCH (news.title) AGAINST('{$search}') OR MATCH(news.resume) AGAINST('{$search}')OR MATCH(news.content) AGAINST('{$search}')
OR MATCH (enc.title) AGAINST('{$search}') OR MATCH(enc.resume) AGAINST('{$search}')OR MATCH(enc.content) AGAINST('{$search}')
OR MATCH (events.title) AGAINST('{$search}') OR MATCH(events.resume) AGAINST('{$search}')OR MATCH(events.content) AGAINST('{$search}'))
AND (news.status = 1 OR enc.status = 1 OR events.status = 1)
LIMIT 0, 30
Что вы пробовали? Дайте образцы данных и ожидаемый результат. Будет оценен SQLFiddle. –
Можете ли вы разместить полный запрос? Это дает лучшее представление о том, чего вы пытаетесь достичь. –
Конечно, я обновил код. – DannyG