объединить несколько таблиц с разными столбцами в одну таблицу - PullRequest
0 голосов
/ 30 марта 2020

У меня есть три таблицы, которые содержат совершенно разные данные с разными столбцами заголовков.

  • таблица 1) SQL_1 со столбцами: col_1, col_2, col_3
  • таблица 2) SQL_2 с столбцами : col_4, col_5, col_6
  • таблица 3) SQL_3 со столбцами: col_7, col_8

Мне нужен запрос (или триггер), чтобы вставить все эти данные из этих трех таблиц в final_table. Я могу сделать это, когда все таблицы имеют один и тот же столбец, но не с разными заголовками столбцов. Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Вы можете использовать оператор UNION и псевдонимы:

INSERT INTO final_table
SELECT col_1 AS c1, col_2 AS c2, col_3 AS c3 FROM SQL_1
UNION
SELECT col_4 AS c1, col_5 AS c2, col_6 AS c3 FROM SQL_2
UNION
SELECT col_7 AS c1, col_8 AS c2, NULL AS c3 FROM SQL_3

И выбрать псевдонимы столбцов, соответствующие именам столбцов в final_table.

0 голосов
/ 30 марта 2020

Может ли это быть так просто (для новой таблицы)

select *
into new_table
from sql_1, sql_2, sql_3

Если у вас есть созданная таблица, вы можете заполнить ее следующими значениями:

insert into new_table (col_1, col_2, col_3, etc.,)
select col_1, col_2, col_3, etc.,
from sql_1, sql_2, sql_3

(настроить имена столбцов для соответствия)

...