2013-03-30 2 views

ответ

1

Используйте UNION, чтобы комбинировать результаты трех запросов.

UNION удалит дубликат, оставляя уникальные строки в конечном результате. Если вы хотите сохранить повторяющиеся строки, используйте UNION ALL.

SELECT * FROM Table1 WHERE condition1 
UNION 
SELECT * FROM Table2 WHERE condition2 
UNION 
SELECT * FROM Table3 WHERE condition3 

нюанс: количество столбцов (, а также тип данных) должны совпадать на каждом выбранном сообщении.

UPDATE 1

основана на ваш комментарий ниже, Вы ищете JOIN,

SELECT a.*, b.*, c.* 
FROM table1 a 
     INNER JOIN table2 b 
      ON a.ColName = b.ColName 
     INNER JOIN table3 c 
      ON a.ColName = c.ColName 
-- WHERE .. add conditions here .. 

Для дальнейшего получить больше знаний о присоединяется, любезно перейдите по ссылке ниже:

+0

К сожалению, все мои таблицы имеют различные структуры – SzRaPnEL

+0

Если это так, вам нужно по крайней мере выбрать важный один раз. Можете ли вы дать плотные записи с вашим желаемым результатом, чтобы мы могли найти другой путь? –

+0

Или вы можете добавить «NULL как colname» для каждого отсутствующего столбца. Вы не сказали, что значит «комбинировать». Если вы описываете, что вы пытаетесь сделать, и * почему *, вы можете получить более полезные ответы. –

1

Вы также можете запросить также как SELECT * FROM пользователей, где Bday> '1970-05-20' UNION ALL SELECT * FROM пользователей, где Bday < '1970-01-20'

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