Поиск SQL-запроса из нескольких таблиц MySQL - PullRequest
5 голосов
/ 02 мая 2011

Я пытаюсь выполнить поиск по нескольким таблицам.

Я упросту задачу и скажу, что у меня есть 2 таблицы Worker и Customer, каждая из которых имеет Id, Name, Surname, а Worker имеет дополнительные Position, все поля varchar, за исключением Id, равным Int.

Как создать запрос, который будет возвращать строки либо Customer, либо Worker, где одно из их полей содержит введенную строку поиска.

Я пробовал с соединениями, но мне также возвращали объединенные строки.

Ответы [ 2 ]

4 голосов
/ 02 мая 2011

Просто UNION оба запроса.
Если вы действительно можете JOIN эти два, вы можете использовать оператор IF в предложении SELECT для отображения правильного поля.
Но, насколько я понимаю из твоего вопроса, иди с UNION

4 голосов
/ 02 мая 2011
select id,name,surname,position,'worker' as tbl from worker where ..
union all
select id,name,surname,'','customer' from customer where ...

Таким образом, вы даже можете узнать результаты, к которым принадлежит таблица.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...