父查子表中单个分支的SQL查询

时间:2015-07-15 11:35:15

标签: mysql parent-child hierarchical-data

我有一个使用邻接列表模型存储项目(实际上是网页)的表,因为它不是很深。例如:

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子句)。

任何帮助都非常感激。

0 个答案:

没有答案