Domanda

Voglio creare una nuova tabella in SQL Server con la seguente query. Non riesco a capire perché questa domanda non funziona.

Query1: Opere

SELECT * FROM TABLE1
UNION
SELECT * FROM TABLE2 

Query2: non funziona. Errore: 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
)

Grazie!

È stato utile?

Soluzione

È necessario definire un alias di tabella per una tabella derivata in SQL Server:

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

"x" è l'alias tabella in questo esempio.

Altri suggerimenti

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

Si può anche provare:

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

Questo funziona solo se Table_A e Table_B hanno gli stessi schemi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top