我被困在我3张桌子的联络员中。 我有一张表格,其中有3个字段(id_candidate,name_candidate,firstname_candidate)的候选人
另一个表将课程命名为5个字段(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;
答案 0 :(得分:1)
大概是这样的:
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
子句仍引用表名。