ВЫБРАТЬ В ИСПОЛЬЗОВАНИИ UNION QUERY - PullRequest
32 голосов
/ 26 октября 2010

Я хочу создать новую таблицу в SQL Server по следующему запросу. Я не могу понять, почему этот запрос не работает.

Запрос1: Работает

SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2 

Запрос2: не работает. Ошибка: Msg 170, Level 15, State 1, Line 7 Line 7: Incorrect syntax near ')'.

SELECT * INTO [NEW_TABLE]
FROM
(
SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2
)

Спасибо!

Ответы [ 4 ]

73 голосов
/ 26 октября 2010

Необходимо определить псевдоним таблицы для производной таблицы в SQL Server:

SELECT x.* 
  INTO [NEW_TABLE]
  FROM (SELECT * FROM TABLE1
        UNION
        SELECT * FROM TABLE2) x

«x» - псевдоним таблицы в этом примере.

2 голосов
/ 31 июля 2018
INSERT INTO #Temp1
SELECT val1, val2 
FROM TABLE1
 UNION
SELECT val1, val2
FROM TABLE2
1 голос
/ 26 октября 2010
select *
into new_table
from table_A
UNION
Select * 
From table_B

Это работает, только если Table_A и Table_B имеют одинаковые схемы

1 голос
/ 26 октября 2010

Вы также можете попробовать:

create table new_table as
select * from table1
union
select * from table2
...