2010-07-15 3 views
2

У меня есть три таблицы: table1, table2, table3.все комбинированные выходные данные в mysql

Table1 содержит:

 
Title1 desc 
LHR  LONDON HEATHROW 
LGW  LONDON GATWICK 

Table2 содержит:

 
Title2 desc2 
W1  TESTW1 
W2  TESTW2 

Таблица3 содержит:

 
vehicle desc3 
SALOON  SALOON DESC 
VIP  VIP DESC 
EXECUTIVE EXECUTIVE DESC 

Я хочу вывести все комбинации, как это:

 
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 

Как написать этот запрос? Я попробовал перекрестное соединение, но у меня не было точно, чего я хочу.

+0

Почему дублируются строки в желаемом формате? Это просто ошибка в вопросе? (Я принимаю его ошибку, поэтому я уже редактировал вопрос) –

+0

Какова связь между этими таблицами. может у объяснить немного больше PLZ? – Sadat

ответ

2

Кажется, что вам нужны все пары, в которых один элемент поступает из таблицы 1, а другой элемент - из таблицы 2 в любом порядке. Вы можете сделать это, создав два кросс-соединения и принимая 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

См. См. В am, не получая эту комбинацию

 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: См. Мой обновленный ответ: Это работает для вас? –

Смежные вопросы