SQL Serverでselect query結果からテーブルを作成したいのですが、試してみました
create table temp AS select.....
しかし私はエラーを得ました
キーワード「AS」の近くの誤った構文
SQL Server 2008で古いテーブルから新しいテーブルを作成するには、次の構文を使用します。
Select * into new_table from old_table
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]
注意してください、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)
SELECT INTOを使ってみてください。
SELECT ....
INTO TABLE_NAME(table you want to create)
FROM source_table
してみてください:
SELECT * INTO NewTable FROM OldTable
[ソーステーブル]から[新しいテーブル]に[フィールド名]を選択します。