首页 > 解决方案 > 如何从两个表中选择两列并将它们插入到具有两列的单个表中

问题描述

我使用了以下代码,但它不起作用。

我想将 的值插入table2.col1到 column1中,并将 的值插入table3.col2到 table1 的 column1 中。

INSERT INTO table1 ( column1,column2 ) 
SELECT  col1 FROM    table2 ,
SELECT  col2 FROM    table3

标签: sql

解决方案


目前尚不清楚您希望如何将源表中的数据合并到目标表中,但这是一种方法:

INSERT INTO table1 (column1, column2) 
SELECT col1, NULL 
FROM table2

UNION ALL 

SELECT NULL, col2
FROM table3
;

这将table2使用for和for的table2.col1值复制所有行。它还将包括使用for的所有行和 for的值。table1.column1NULLtable1.column2table3NULLtable1.column1table3.col2table1.column2

这假设 和 的数据类型table2.col1相同table3.col2/兼容。

您可能还需要转换NULL值以使数据类型匹配:CAST(NULL AS <data_type>)


推荐阅读