Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用union插入到表变量中_Sql_Sql Server 2008_Union - Fatal编程技术网

Sql 使用union插入到表变量中

Sql 使用union插入到表变量中,sql,sql-server-2008,union,Sql,Sql Server 2008,Union,我有一个表变量,我想插入一个联合查询。union查询运行良好,但我似乎无法使insert正常工作(语法错误) 这样行吗?如果其他地方有问题,我可以发布我的真实代码 我在第一次选择时遇到语法错误 INSERT INTO @table(a,b,c,d) SELECT a,b,c,d FROM table1 UNION SELECT a,b,c,d FROM table2 使用SELECT语句插入数据时,不需要使用Values子句。因此,我从中删除了值位,只需将两个SELECT查询返回

我有一个表变量,我想插入一个联合查询。union查询运行良好,但我似乎无法使insert正常工作(语法错误)

这样行吗?如果其他地方有问题,我可以发布我的真实代码

我在第一次选择时遇到语法错误

INSERT INTO @table(a,b,c,d)
SELECT  a,b,c,d 
FROM   table1

UNION

SELECT a,b,c,d 
FROM table2
使用SELECT语句插入数据时,不需要使用Values子句。因此,我从中删除了
位,只需将两个SELECT查询返回的行合并即可

Sql server支持INSERT语句的语法,如

INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name
这将把select语句返回的结果集插入到目标表中。在您的情况下,结果是两个选择的并集,因此它与单个选择没有任何不同

在这种情况下不需要“值”

INSERT INTO @table (a, b, c, d)
SELECT a, b, c, d FROM table1 
UNION 
SELECT a, b, c, d FROM table2

也许值得(只是给答案增加一点价值)描述一下你改变了什么,以及为什么,如果不是很明显的话,这不是一个问题,gald它有帮助:)请尝试使用没有值的相同查询,致以最良好的祝愿,Abdeloihab
INSERT INTO @table (a, b, c, d)
SELECT a, b, c, d FROM table1 
UNION 
SELECT a, b, c, d FROM table2