2010-07-15 4 views
2

J'ai trois tables: table1, table2, table3.toutes les sorties de combinaison dans mysql

Tableau 1 contient:

 
Title1 desc 
LHR  LONDON HEATHROW 
LGW  LONDON GATWICK 

Tableau2 contient:

 
Title2 desc2 
W1  TESTW1 
W2  TESTW2 

Table3 contient:

 
vehicle desc3 
SALOON  SALOON DESC 
VIP  VIP DESC 
EXECUTIVE EXECUTIVE DESC 

Je veux toutes les combinaisons sortie comme ceci:

 
title-common title-common2 vehicle  
LHR   W1   saloon 
LHR   W1   VIP 
LHR   W1   EXECUTIVE 
LHR   W2   saloon 
LHR   W2   VIP 
LHR   W2   EXECUTIVE 
LGW   W1   saloon 
LGW   W1   VIP 
LGW   W1   EXECUTIVE 
LGW   W2   saloon 
LGW   W2   VIP 
LGW   W2   EXECUTIVE 
W1   LHR   saloon 
W1   LHR   VIP 
W1   LHR   EXECUTIVE 
W2   LHR   saloon 
W2   LHR   VIP 
W2   LHR   EXECUTIVE 
W2   LGW   saloon 
W1   LGW   VIP 
W1   LGW   EXECUTIVE 
W2   LGW   saloon 
W2   LGW   VIP 
W2   LGW   EXECUTIVE 

Comment dois-je écrire cette requête? J'ai essayé de rejoindre Cross, mais je n'ai pas eu exactement ce que je voulais.

+0

Pourquoi y a-t-il des lignes dupliquées dans votre sortie désirée? Est-ce juste une erreur dans la question? (Je suppose que c'est une erreur donc j'ai déjà édité la question) –

+0

quelle est la relation entre ces tables. pourriez-vous expliquer un peu plus plz? – Sadat

Répondre

2

Il semble que vous vouliez toutes les paires où un élément provient du tableau 1 et l'autre élément provient du tableau 2, dans n'importe quel ordre. Vous pouvez le faire en créant deux jointures croisées et en prenant l'UNION:

(
    SELECT 
     Title1 AS title-common, 
     Title2 AS title-common2, 
     vehicle 
    FROM table1 
    CROSS JOIN table2 
    CROSS JOIN table3 
) 
UNION 
(
    SELECT 
     Title2 AS title-common, 
     Title1 AS title-common2, 
     vehicle 
    FROM table1 
    CROSS JOIN table2 
    CROSS JOIN table3 
) 
+0

Voir voir dans le je ne reçois pas cette combinaison

 W1 LHR saloon W1 LHR VIP W1 LHR EXECUTIVE W2 LHR saloon W2 LHR VIP W2 LHR EXECUTIVE W2 LGW saloon W1 LGW VIP W1 LGW EXECUTIVE W2 LGW saloon W2 LGW VIP W2 LGW EXECUTIVE 
Bharanikumar

+0

@Bharanikumar: Voir ma réponse mise à jour: Est-ce que cela fonctionne pour vous? –

Questions connexes