Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Inserisci nella variabile della tabella con union

INSERT INTO @table(a,b,c,d)
SELECT  a,b,c,d 
FROM   table1

UNION

SELECT a,b,c,d 
FROM table2

Non è necessario utilizzare la clausola Values ​​quando si inseriscono dati utilizzando l'istruzione SELECT. Pertanto ho rimosso i VALUES bit da esso e semplicemente facendo un'UNION di righe restituite da entrambe le query SELECT.

Il server SQL supporta la sintassi per l'istruzione INSERT come

INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name

Questo inserirà il set di risultati restituito dall'istruzione select nella tabella di destinazione. Nel tuo caso il Risultato è un'UNIONE di due selezioni quindi non è diverso da una singola selezione.