9
votes

Union T-SQL sur 3 tables?

est-ce possible? Utilisation de SQL Server 2005 .......

SELECT *
FROM Data0304 
UNION 
SELECT *
FROM Data0506
UNION 
SELECT *
FROM Data0708


1 commentaires

Avez-vous essayé d'exécuter cela déjà? Des problèmes avec ça? Qu'est-ce qui n'a pas fonctionné?


3 Réponses :


10
votes

Tant que les colonnes sont identiques dans les trois tables, mais vous voudrez peut-être utiliser Union tout pour vous assurer que les doublons sont inclus.


1 commentaires

Et devrait spécifier les noms de colonne plutôt que d'utiliser * .



6
votes

Quand vous dites

colonnes sont identiques

Cela signifie,

nombre de colonnes et de types de données et leurs longueurs et leur ordre

devrait être identique.

Union

comprendra des enregistrements en double une seule fois dans le résultat et

Union tout

inclura tous les enregistrements en double.


1 commentaires

Merci, c'est ce dont j'avais besoin. La clarification des "colonnes est la même" était très utile.



3
votes

Afin d'inclure des enregistrements en double, vous devez utiliser Union tout au lieu d'union

SELECT *
FROM Data0304 
UNION ALL
SELECT *
FROM Data0506
UNION ALL
SELECT *
FROM Data0708


0 commentaires