@kiberchainik
начинающий найкрутейшЫй програмЁр

Как сделать поиск по разным таблицам с разными полями?

делаю поиск по сайту, который ищет по 4м таблицам, новости, пользователи, посты, резюме. соответственно в каждой таблице свои поля. подскажите как составить запрос по этим четырем таблицам с разными полями.
у меня мозгов хватает только на использование left join через union не получается потому что при поиске по четырем таблицам sql выдает ошибку что в ответе разное количество полей. как сделать запрос?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
PageAuditRU
@PageAuditRU
Senior SEO Анализатор
Через UNION.
При выборке SELECT используйте не символ *, а конкретные поля (например, id, name и т.п.), которые переименовывайте через алиас.

SELECT `id` AS 'field1', `name` AS `field2`, `other` AS `field3` FROM `table1`
UNION
SELECT `uid` AS 'field1', `title` AS `field2`, `again_other` AS `field3` FROM `table2`
UNION
...


в результате получите таблицу с одинаковым количеством столбцов, которую потом юзайте.
Если поле в таблице отсутствует, то для выравнивания попробуйте использовать комбинацию типа "" AS `fieldN` или NULL AS `fieldN`.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы