我的数据库中有三个表:
boards: idBoard, nameBoard, author
sections: idSection, nameSection, idBoard
tasks: idTask, nameTask, idSection
我的查询如下所示:
SELECT tasks.idTask, sections.idSection, (more...)
FROM `tasks`
INNER JOIN `boards` ON tasks.idBoard = boards.idBoard
INNER JOIN `sections` ON sections.idSection = tasks.idSection
WHERE boards.idBoard = ?
AND boards.author= ?
该查询几乎运行良好,但它不会返回没有 tasks
项的 section
。
不幸的是,我真的不知道为什么会这样。我还想获得与 boards
匹配的 section
项目,但没有 tasks
项目
最佳答案
我认为您需要外连接,这通常意味着左连接
。根据您描述表的方式,我希望查询如下所示:
SELECT t.idTask, s.idSection, (more...)
FROM boards b LEFT JOIN
sections s
ON b.idBoard = s.idBoard
tasks t
ON s.idSection = t.idSection
WHERE b.idBoard = ? AND boards.author= ?
关于mysql - 查询返回有关嵌套元素的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561518/