web-dev-qa-db-ja.com

SQL Server 2008でselectクエリの結果からテーブルを作成する方法

SQL Serverでselect query結果からテーブルを作成したいのですが、試してみました

create table temp AS select.....

しかし私はエラーを得ました

キーワード「AS」の近くの誤った構文

161
yogesh9239

SQL Server 2008で古いテーブルから新しいテーブルを作成するには、次の構文を使用します。

Select * into new_table  from  old_table 
292
Sanjeev Rai

SELECT...INTOを使う

SELECT INTOステートメントは新しいテーブルを作成し、それにSELECTステートメントの結果セットを入力します。 SELECT INTOを使用すると、複数のテーブルまたはビューのデータを1つのテーブルにまとめることができます。リンクサーバーから選択されたデータを含む新しいテーブルを作成するためにも使用できます。

例、

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]
65
John Woo

注意してください、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)
25
mssql-mysql

SELECT INTOを使ってみてください。

SELECT ....
INTO     TABLE_NAME(table you want to create)
FROM source_table
10
Rebika

してみてください:

SELECT * INTO NewTable FROM OldTable
9
TechDo

[ソーステーブル]から[新しいテーブル]に[フィールド名]を選択します。

2
Prabhash Jha