Pregunta

Quiero crear una nueva tabla en SQL Server con la siguiente consulta. Soy incapaz de entender por qué esta consulta no funciona.

QUERY1: Obras

SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2 

Query2: no funciona. Error: 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
)

Gracias!

¿Fue útil?

Solución

Hay que definir un alias de tabla para una tabla derivada en SQL Server:

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

"x" es el alias de la tabla en este ejemplo.

Otros consejos

INSERT INTO #Temp1
SELECT val1, val2 
FROM TABLE1
 UNION
SELECT val1, val2
FROM TABLE2

También puede probar:

create table new_table as
select * from table1
union
select * from table2
select *
into new_table
from table_A
UNION
Select * 
From table_B

Esto sólo funciona si TABLE_A y Table_B tienen los mismos esquemas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top