2010-04-14 11 views
2

J'ai deux tables avec des colonnes similaires - disons la table A avec la colonne LABEL_A et la table B avec la colonne LABEL_B. Les types de données de LABEL_A et LABEL_B sont identiques.Rejoindre deux tables similaires dans MySQL

Comment puis-je sélectionner LABEL des deux tables dans une seule requête? (Ainsi, le résultat de la requête contient une seule colonne LABEL contenant des données provenant des colonnes LABEL des deux tables).

EDIT: Puis-je utiliser de telles requêtes UNION dans un CURSOR?

Merci pour les réponses.

Répondre

4

Utilisation:

SELECT a.label_a 
    FROM TABLE_A a 
UNION ALL 
SELECT b.label_b 
    FROM TABLE_B b 

UNION ALL sera plus rapide, mais ne sera pas supprimer les doublons si elles existent. Utilisez UNION si vous souhaitez supprimer les doublons.

+0

Fonctionne, merci. Et si je veux attribuer un nom à la colonne UNIONed résultante? – NumberFour

+1

@NumberFour: alias la colonne de manière appropriée dans l'instruction avant l'UNION [All]. IE: 'SELECT a.label_a AS labelx' - n'a pas besoin de définir un alias pour les colonnes après UNION. –

+0

Puis-je utiliser l'UNION dans le CURSEUR? – NumberFour

3

Utilisez un UNION:

select LABEL_A as Label from A 
union 
select LABEL_B as Label from B