我的数据库中有三个表:
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= ?
该查询几乎可以正常工作,但不会返回没有
sections
项目的tasks
。不幸的是,我真的不知道为什么会这样。我也想获得与
section
匹配但没有boards
项的tasks
个项 最佳答案
我认为您需要外部联接,通常表示left join
。根据您描述表的方式,我希望查询看起来像这样:
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/