【发布时间】:2021-10-09 16:42:33
【问题描述】:
我搜索了很多,但找不到解决方案。
问题
我有 3 张桌子。 课程、进度和课程 我就是这样加入的。
SELECT c.course_id
, l.topic
, l.id
, l.vid_duration
, p.*
FROM courses c
LEFT
JOIN lessons l
ON l.course_id = c.course_id
LEFT
JOIN progress sp
ON l.id = p.lesson_id
WHERE c.slug = :course
and p.user_id = :userid
我想要所有表中的数据。
当两个 Where 条件都为真但不为假时,它工作正常。
所以,如果条件 p.user_id = :userid 为假,我想要数据表单 lessons 和 progress 的空列。
希望你能理解我的问题。
【问题讨论】:
-
如果意图是 `LEFT JOIN' 给定的表,那么该表的条件必须放在 JOIN 子句中,而不是 WHERE
-
@coyeb60297 WHERE 是一个额外的条件
-
@B001ᛦ 我不知道那是什么意思。
-
@user16577935 你能告诉我如何进入JOIN子句,而不是WHERE