178 votes

Est-il possible d'utiliser la clause SELECT INTO avec UNION [ALL]?

Dans SQL Server, cela insère 100 enregistrements de la table Customers dans tmpFerdeen: -

 SELECT top(100)*
INTO tmpFerdeen
FROM Customers
 

Est-il possible de faire un SELECT INTO sur un UNION ALL SELECT: -

 SELECT top(100)* 
FROM Customers
UNION All
SELECT top(100)* 
FROM CustomerEurope
UNION All
SELECT top(100)* 
FROM CustomerAsia
UNION All
SELECT top(100)* 
FROM CustomerAmericas
 

Vous ne savez pas trop où ajouter la clause INTO.

255voto

Chris Van Opstal Points 16961

Cela fonctionne dans SQL Server:

 SELECT * INTO tmpFerdeen FROM (
  SELECT top 100 * 
  FROM Customers
  UNION All
  SELECT top 100 * 
  FROM CustomerEurope
  UNION All
  SELECT top 100 * 
  FROM CustomerAsia
  UNION All
  SELECT top 100 * 
  FROM CustomerAmericas
) as tmp
 

141voto

Martin Smith Points 174101

Vous n'avez pas du tout besoin d'une table dérivée pour cela.

Il suffit de mettre les INTO après le premier SELECT

 SELECT top(100)* 
INTO tmpFerdeen
FROM Customers
UNION All
SELECT top(100)* 
FROM CustomerEurope
UNION All
SELECT top(100)* 
FROM CustomerAsia
UNION All
SELECT top(100)* 
FROM CustomerAmericas
 

7voto

user1313560 Points 46
 SELECT * INTO tmpFerdeen FROM 
(SELECT top(100)*  
FROM Customers 
UNION All 
SELECT top(100)*  
FROM CustomerEurope 
UNION All 
SELECT top(100)*  
FROM CustomerAsia 
UNION All 
SELECT top(100)*  
FROM CustomerAmericas) AS Blablabal
 

Ce "Blablabal" est nécessaire

0voto

Chris Points 2224

SELECT * INTO tmpFerdeen FROM (votre requête ici) data

-1voto

Ryan Points 2076
essayez peut-être ceci ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X