我有一个使用邻接列表模型存储项目(实际上是网页)的表,因为它不是很深。例如:
id fragment parent_id
1 home -1
2 about-us 1
3 meet-us 2
4 contact-us 2
5 map 4
6 more 2
7 products 1
要在about-us下面提取整个分支,我尝试了以下MySQL查询:
SELECT t1.fragment, t2.fragment, t3.fragment
FROM pages t1
LEFT JOIN pages t2 on t2.parent_id = t1.id
LEFT JOIN pages t3 on t3.parent_id = t2.id
WHERE t1.id=2
但它不会生成带子项的实际行(仅限上面的联系人),只有:
meet-us
contact-us <-this row is missing
map
more
它在整个树上工作正常(即没有WHERE子句)。
任何帮助都非常感激。