Ray*_*Ray 16 sql t-sql sql-server sql-server-2008
我有一个示例查询,如下所示:
SELECT *
FROM [#temp1]
UNION
SELECT *
FROM [#temp2]
UNION
SELECT *
FROM [#temp3]
UNION
SELECT *
FROM [#temp4]
UNION
SELECT *
FROM [#temp5]
Run Code Online (Sandbox Code Playgroud)
如何将这些查询请求移动到新表中?注意:我的SQL版本是:
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6002: Service Pack 2)
Run Code Online (Sandbox Code Playgroud)
我尝试了另一个我发现的Stackoverflow答案,即
CREATE TABLE managers AS SELECT * FROM employees WHERE desg = 'MANAGER';
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误: Incorrect syntax near the keyword 'as'.
这是我的完整查询失败,出现上述错误:
CREATE TABLE #temp_UNION as
SELECT *
FROM [#temp1]
UNION
SELECT *
FROM [#temp2]
UNION
SELECT *
FROM [#temp3]
UNION
SELECT *
FROM [#temp4]
UNION
SELECT *
FROM [#temp5]
Run Code Online (Sandbox Code Playgroud)
有关我如何搞砸的任何建议吗?
谢谢你,雷
Cha*_*ndu 20
在SQL Server中,您必须使用
SELECT <COLUMNS_LIST>
INTO <NEW_TABLE_NAME>
FROM <TABLES, WHERE ETC>
Run Code Online (Sandbox Code Playgroud)
更多信息@ http://msdn.microsoft.com/en-us/library/ms188029.aspx
试试这个:
SELECT *
INTO #temp_UNION
FROM
(
SELECT *
FROM [#temp1]
UNION
SELECT *
FROM [#temp2]
UNION
SELECT *
FROM [#temp3]
UNION
SELECT *
FROM [#temp4]
UNION
SELECT *
FROM [#temp5]
) a
Run Code Online (Sandbox Code Playgroud)