sql - 对 2 个表执行 UNION 时 SQL Server 出错
问题描述
我想在 SQL Server 中的另一个表下方添加一个表。
这是我的代码:
CREATE TABLE #main_table
( Scenarios float ,Attribute VARCHAR(50) ,Value float );
insert INTO #main_table
select *
FROM
( SELECT *
FROM #table1
UNION ALL
SELECT *
FROM #table2) a
但我收到一个错误:
使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式
任何人都会知道可能是什么问题?
解决方案
您可以在下面尝试 - 因为联合要求两个数据集中的列数相等
insert INTO #main_table
select *
FROM
( SELECT Scenarios,Attribute ,Value
FROM #table1
UNION ALL
SELECT Scenarios,Attribute ,Value
FROM #table2) a
推荐阅读
- r-plotly - 如何强制 plotly R 用类别轴绘制缺失值
- kubernetes - 使用 kubernetes 将密钥附加到 CATALINA_OPTS
- php - PHP:“无法获取 DOMElement。节点不再存在于”使用 DOMXpath
- tensorflow-data-validation - 如何以正确的格式保存 TFDV 统计信息以便重新加载?
- java - 动画 Drawable - 空对象引用
- bash - 在文件开头添加 0 以获得 5 位组
- docker - 为什么 cap_net_bind_service 在这个 nginx 嵌套 Docker 容器中不起作用?
- javascript - 如何从 API 加载数据?
- javascript - 如何使用 WKScriptMessageHandler 读取发送到父元素的 postmessage?
- c# - 从 C# 终结器调用静态方法