sql - 如何从两个表中选择两列并将它们插入到具有两列的单个表中
问题描述
我使用了以下代码,但它不起作用。
我想将 的值插入table2.col1
到 column1中,并将 的值插入table3.col2
到 table1 的 column1 中。
INSERT INTO table1 ( column1,column2 )
SELECT col1 FROM table2 ,
SELECT col2 FROM table3
解决方案
目前尚不清楚您希望如何将源表中的数据合并到目标表中,但这是一种方法:
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.column1
NULL
table1.column2
table3
NULL
table1.column1
table3.col2
table1.column2
这假设 和 的数据类型table2.col1
相同table3.col2
/兼容。
您可能还需要转换NULL
值以使数据类型匹配:CAST(NULL AS <data_type>)
推荐阅读
- jenkins - Kubernetes - Calico-Nodes 0/1 就绪
- swift - 无法读取数据,因为它的格式不正确 Stripe
- c++ - 使用指针调整类数组的大小
- javascript - 使用 textarea 执行 Javascript 代码
- java - 从硒中的渲染器接收消息超时?
- python - 为什么模型方程输出与模型训练输出不匹配
- r - 有没有办法通过多组因素来总结?
- javascript - 在javascript中找到随机数的总和
- flutter - 错误:shared_preferences_platform_interface-1.0.3/pubspec.yaml:缺少必需的“名称”字段
- python - 定义新类时在 __init__ 内外引发 Python 异常