помогите написать запрос - PullRequest
1 голос
/ 28 июля 2010

Мне нужен оператор запроса, написанный таким образом, что он выполняет поиск в трех таблицах

таблица 1

id
fullname
active

таблица 2

id   
fullname 

таблица 3

id 
fullname

Я хотел, чтобы этот запрос произвел поиск по всем трем таблицам вместе и дал мне результат для полного идентификатора id, который не активен

1 Ответ

1 голос
/ 28 июля 2010

Предполагая, что все таблицы имеют одинаковую структуру (в вашем примере они не имеют - это ошибка?), Тогда вы можете использовать UNION ALL для объединения результатов нескольких запросов:

SELECT id, fullname, 'table1' AS source
FROM table1
WHERE active = 'N'
UNION ALL
SELECT id, fullname, 'table2' AS source
FROM table2
WHERE active = 'N'
UNION ALL
SELECT id, fullname, 'table3' AS source
FROM table3
WHERE active = 'N'

Если вы неМне все равно, откуда берутся строки, и вам не нужны дубликаты, вместо этого вы можете попробовать UNION:

SELECT id, fullname
FROM table1
WHERE active = 'N'
UNION
SELECT id, fullname
FROM table2
WHERE active = 'N'
UNION
SELECT id, fullname
FROM table3
WHERE active = 'N'

Я здесь много догадок.Если это не сработает, уточните, что вы пытаетесь сделать.

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