3 стола, чтобы присоединиться - PullRequest
0 голосов
/ 10 января 2019

Я застрял в связи с моими 3 столами. У меня есть таблица кандидатов с 3 полями (id_candidate, name_candidate, firstname_candidate)

Другие уроки с пятью полями (id_lesson, price_lesson, date_lesson, fk_candidate, fk_monitor)

У меня есть таблица с 3 полями (id_monitor, name_monitor, firstname_monitor)

Я могу объединить 2 таблицы (кандидатов и уроки) Вот запрос

SELECT *
FROM lessons INNER JOIN
     candidates
     ON lessons.fk_candidate=candidates.id_candidate
ORDER BY id_candidate ASC

Но моя проблема в том. Я не понимаю, как объединить 3 таблицы? На самом деле, имя монитора должно появиться на столе уроков.

Я пробовал это

SELECT *
FROM candidates id_candidate INNER JOIN
     lessons id_lesson
     ON lessons.fk_candidate = candidates.id_candidate INNER JOIN 
     monitors id_monitor 
     ON lessons.fk_monitor = monitors.id_monitor;

1 Ответ

0 голосов
/ 10 января 2019

Предположительно, что-то вроде этого:

SELECT c.*, l.*, m.name_monitor  -- list out the columns you want explicitly
FROM candidates c INNER JOIN
     lessons l
     ON l.fk_candidate = c.id_candidate INNER JOIN 
     monitors m 
     ON l.fk_monitor = m.id_monitor;

Примечания:

  • Использование псевдонимов таблиц - хорошая идея. Я рекомендую сокращения для названия таблицы.
  • После того, как вы определили псевдоним таблицы, используйте их . Ваши пункты on все еще ссылаются на имя таблицы.
  • Явно перечислите нужные вам столбцы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...