Dans SQL Server, cela insère 100 enregistrements, de la table Clients 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
Je ne sais pas trop où ajouter la clause INTO.
sql
sql-server
Ferdeen
la source
la source
Réponses:
Cela fonctionne dans SQL Server:
la source
Vous n'avez pas du tout besoin d'une table dérivée pour cela.
Juste mettre
INTO
après le premierSELECT
la source
Ce "Blablabal" est nécessaire
la source
Pour les requêtes MS Access, cela a fonctionné:
Cela n'a PAS fonctionné dans MS Access
la source
Je le ferais comme ceci:
la source
Le défi que je vois avec la solution:
est que cela crée un ensemble de données fenêtré qui résidera dans la RAM et sur des ensembles de données plus volumineux, cette solution créera de graves problèmes de performances car elle doit d'abord créer la partition, puis elle utilisera la partition pour écrire dans la table temporaire.
Une meilleure solution serait la suivante:
pour sélectionner insérer dans la table temporaire, puis ajouter des lignes supplémentaires. Cependant, le problème ici est s'il y a des lignes en double dans les données.
La meilleure solution serait la suivante:
Cette méthode devrait fonctionner à toutes les fins nécessitant des lignes distinctes. Si, cependant, vous voulez les lignes dupliquées, remplacez simplement UNION par UNION ALL
Bonne chance!
la source
Essayez peut-être ceci?
la source
Essayez quelque chose comme ceci: Créez la table d'objets finale, tmpFerdeen avec la structure de l'union.
ensuite
la source