我想在SQL Server中从select查询结果创建一个表,我试过
create table temp AS select.....
但我收到了错误
关键字“AS”附近的语法不正确
答案 0 :(得分:297)
使用以下语法从SQL Server 2008中的旧表创建新表
Select * into new_table from old_table
答案 1 :(得分:66)
使用SELECT...INTO
SELECT INTO语句创建一个新表并用其填充 SELECT语句的结果集。 SELECT INTO可用于 将来自多个表或视图的数据合并到一个表中。它也可以 用于创建一个包含从a中选择的数据的新表 链接服务器。
实施例,
SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM tablename
标准语法,
SELECT col1, ....., col@ -- <<== select as many columns as you want
INTO [New tableName]
FROM [Source Table Name]
答案 2 :(得分:25)
请小心,
MSSQL:"SELECT * INTO NewTable FROM OldTable"
并不总是一样的
MYSQL:"create table temp AS select.."
我认为有时会出现这种情况(在MSSQL中) 不保证新表中的所有字段都与旧表中的字段相同。
例如:
create table oldTable (field1 varchar(10), field2 integer, field3 float)
insert into oldTable (field1,field2,field3) values ('1', 1, 1)
select top 1 * into newTable from oldTable
并不总是屈服:
create table newTable (field1 varchar(10), field2 integer, field3 float)
但可能是:
create table newTable (field1 varchar(10), field2 integer, field3 integer)
答案 3 :(得分:10)
尝试使用SELECT INTO ....
SELECT ....
INTO TABLE_NAME(table you want to create)
FROM source_table
答案 4 :(得分:9)
请尝试:
SELECT * INTO NewTable FROM OldTable
答案 5 :(得分:2)
从[源表]
中选择[新表]中的[字段名称]