Можете ли вы присоединиться к двум полям с одним полем? - PullRequest
0 голосов
/ 30 октября 2011

Есть ли способ, которым 2 фид могут объединиться с одним полем, иначе:

SELECT * FROM Teacher t, Module m INNER JOIN Session s ON t.TeacherId = s.TeacherId AND m.ModuleId = s.ModuleId ... ?

Ответы [ 3 ]

3 голосов
/ 30 октября 2011

Я думаю, что вы объединяете два поля с одним полем каждое, и вы абсолютно можете это сделать.Если сомневаетесь, попробуйте, самое худшее, что может случиться, - это ошибка!

2 голосов
/ 30 октября 2011

Я думаю, вы ищете это:

select *
from Teacher t
join Session s on t.TeacherId = s.TeacherId
join Module  m on m.ModuleId  = s.ModuleId
...
0 голосов
/ 30 октября 2011

Вы можете присоединиться к двум полям, как вы это сделали, используя ON и AND.Но то, что у вас есть, было бы декартовым произведением на INNER JOIN между Module и Session.Таким образом, вы получите ошибку с предложением on, потому что Teacher t не может использоваться там ERROR 1054 (42S22): Unknown column 't.id' in 'on clause'.

Я не совсем уверен, что вы пытаетесь сделать, но вы можете разделитьэто с использованием нескольких INNER JOIN предложений:

SELECT * FROM Teacher t
INNER JOIN Session s ON s.TeacherId = t.TeacherId
INNER JOIN Module m ON m.ModuleId = s.ModuleId;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...