将具有不同列的多个 table 合并为一个 table
combine mutiple tables with different column in to one table
我有三个 table 包含完全不同的数据和不同的 header 列。
- table 1) SQL_1 列:col_1,col_2,col_3
- table 2) SQL_2 列:col_4,col_5,col_6
- table 3) SQL_3 列:col_7,col_8
我需要一个查询(或触发器)来将所有这些数据从这三个 table 插入到 final_table。我可以在所有 table 具有相同列但不具有不同列 header 时执行这些操作。
提前致谢
这可以像(对于新的 table)
一样简单吗
select *
into new_table
from sql_1, sql_2, sql_3
如果您创建了 table,则可以填充它:
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
(调整列名称以适应)
您可以使用 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
中的列名。
我有三个 table 包含完全不同的数据和不同的 header 列。
- table 1) SQL_1 列:col_1,col_2,col_3
- table 2) SQL_2 列:col_4,col_5,col_6
- table 3) SQL_3 列:col_7,col_8
我需要一个查询(或触发器)来将所有这些数据从这三个 table 插入到 final_table。我可以在所有 table 具有相同列但不具有不同列 header 时执行这些操作。 提前致谢
这可以像(对于新的 table)
一样简单吗select *
into new_table
from sql_1, sql_2, sql_3
如果您创建了 table,则可以填充它:
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
(调整列名称以适应)
您可以使用 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
中的列名。