首页 > 解决方案 > 对 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 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式

任何人都会知道可能是什么问题?

标签: sqlsql-servertsqlunion

解决方案


您可以在下面尝试 - 因为联合要求两个数据集中的列数相等

insert INTO  #main_table  
select * 
FROM 
( SELECT Scenarios,Attribute ,Value
FROM #table1
UNION ALL 
SELECT Scenarios,Attribute ,Value
FROM #table2) a

推荐阅读