Selecione para usar a consulta da União
-
26-09-2019 - |
Pergunta
Quero criar uma nova tabela no SQL Server com a seguinte consulta. Não consigo entender por que essa consulta não funciona.
Query1: obras
SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2
Query2: não funciona. Erro: 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
)
Obrigado!
Solução
Você deve definir um alias de tabela para uma tabela derivada no SQL Server:
SELECT x.*
INTO [NEW_TABLE]
FROM (SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2) x
"X" é o alias da tabela neste exemplo.
Outras dicas
INSERT INTO #Temp1
SELECT val1, val2
FROM TABLE1
UNION
SELECT val1, val2
FROM TABLE2
Você também pode tentar:
create table new_table as
select * from table1
union
select * from table2
select *
into new_table
from table_A
UNION
Select *
From table_B
Isso só funciona se tabela_a e table_b têm os mesmos esquemas
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow