How to create a table from select query result in

2019-01-04 18:17发布

This question already has an answer here:

I want to create a table from select query result in SQL Server, I tried

create table temp AS select.....

but I got an error

Incorrect syntax near the keyword 'AS'

6条回答
看我几分像从前
2楼-- · 2019-01-04 18:49

use SELECT...INTO

The SELECT INTO statement creates a new table and populates it with the result set of the SELECT statement. SELECT INTO can be used to combine data from several tables or views into one table. It can also be used to create a new table that contains data selected from a linked server.

Example,

SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM   tablename

Standard Syntax,

SELECT  col1, ....., col@      -- <<== select as many columns as you want
        INTO [New tableName]
FROM    [Source Table Name]
查看更多
何必那么认真
3楼-- · 2019-01-04 18:49

Try using SELECT INTO....

SELECT ....
INTO     TABLE_NAME(table you want to create)
FROM source_table
查看更多
forever°为你锁心
4楼-- · 2019-01-04 18:52

Select [Field Names] into [New Table] from [Source Table]

查看更多
Root(大扎)
5楼-- · 2019-01-04 18:56

Use following syntax to create new table from old table in SQL server 2008

Select * into new_table  from  old_table 
查看更多
Viruses.
6楼-- · 2019-01-04 18:57

Please be careful, MSSQL: "SELECT * INTO NewTable FROM OldTable"

is not always the same as MYSQL: "create table temp AS select.."

I think that there are occasions when this (in MSSQL) does not guarantee that all the fields in the new table are of the same type as the old.

For example :

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

does not always yield:

create table newTable (field1 varchar(10), field2 integer, field3 float)

but may be:

create table newTable (field1 varchar(10), field2 integer, field3 integer)
查看更多
【Aperson】
7楼-- · 2019-01-04 19:10

Please try:

SELECT * INTO NewTable FROM OldTable
查看更多
登录 后发表回答