MySQL: объединить две таблицы (одну и ту же схему) и создать новую - SINGLE QUERY - PullRequest
1 голос
/ 21 февраля 2012

У меня есть две таблицы с одинаковой схемой.

Я хотел бы иметь третью таблицу, содержащую все данные этих двух таблиц вместе.

Как я могу сделать это с помощью запроса INSERT INTO (один запрос делает это)?

Я знаю, что могу сделать это с: INSERT INTO name_of_new_table SELECT DISTINCT * FROM name_of_old_table, но тогда мне нужно будет сделать это дважды. Я пытаюсь сделать это с помощью одного запроса.

Спасибо.

1 Ответ

3 голосов
/ 21 февраля 2012
INSERT INTO new_table
SELECT * FROM old_table_1
UNION
SELECT * FROM old_table_2

Удален ваш DISTINCT, так как UNION подразумевает DISTINCT (UNION ALL не имеет этого). Это будет работать только в том случае, если таблицы идентичны по количеству столбцов и имеют одинаковый тип столбцов. С другой стороны, похоже, что это ваша ситуация.

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