Как создать таблицу из результата выбора запроса в SQL Server 2008

Я хочу создать таблицу из результата выбора запроса в SQL Server, я пробовал

create table temp AS select.....

но я получил сообщение об ошибке

Неверный синтаксис рядом с ключевым словом "AS"

Ответ 1

Используйте следующий синтаксис для создания новой таблицы из старой таблицы на SQL Server 2008

Select * into new_table  from  old_table 

Ответ 2

использовать SELECT...INTO

Оператор SELECT INTO создает новую таблицу и заполняет ее результирующий набор оператора SELECT. SELECT INTO может использоваться для объединить данные из нескольких таблиц или представлений в одну таблицу. Он также может для создания новой таблицы, содержащей данные, выбранные из связанный сервер.

Пример

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

Стандартный синтаксис,

SELECT  col1, ....., [email protected]      -- <<== select as many columns as you want
        INTO [New tableName]
FROM    [Source Table Name]

Ответ 3

Пожалуйста, будьте осторожны, 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)

Ответ 4

Попробуйте использовать SELECT INTO....

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

Ответ 5

Попробуйте:

SELECT * INTO NewTable FROM OldTable

Ответ 6

Выберите [Имена полей] в [Новая таблица] из [Таблица источников]