2012-12-06 2 views
1

У меня есть 3 столбца в разных таблицах в базе данных. Таблицы имен и чисел могут быть любыми, поэтому я не могу написать запрос для извлечения данных из этих трех столбцов.Как получить данные из всех таблиц из базы данных

Запрос:

SELECT first_name, last_name 
FROM (table names) 
WHERE email="[email protected]" 

Пожалуйста, помогите мне с этим.

Спасибо,

Эдвард

+2

вы что-то пробовали? – Ric

+2

Вы пытаетесь получить объединение всех этих таблиц? тогда вы должны посмотреть на ключевое слово union – Kek

+1

http://stackoverflow.com/questions/4232626/posgresql-how-to-union-3-tables-sorted-by-date – Lojko

ответ

0

Вы можете сделать это:

SELECT first_name, last_name, FromWhichTable 
FROM 
(
    SELECT first_name, last_name, email, FromWhichTable = 1 FROM table_name1 
    UNION ALL 
    SELECT first_name, last_name, email, 2     FROM table_name2 
    UNION ALL 
    SELECT first_name, last_name, email, 3     FROM table_name3 
) t 
WHERE email="[email protected]" 
2

Вы можете создать свой SQL заявление динамически. Что-то похожее на:

DECLARE @SQL VARCHAR (4000)

SET @sql = 'SELECT first_name, last_name FROM .... и т.д.'

EXEC (@sql)

Так предполагающей имена таблиц, которые вы хотите использовать, передаются в качестве параметров или каким-либо иным образом выглядят откуда-то, вы можете включить их в запрос, который вы создаете в переменной @SQL.

Смежные вопросы