我的网站上有一个非常简单的递归类别树表
id
name
parent_id
通常人们希望将父母的整棵树展示给他们的孩子
在我的情况下,我有孩子的ids,我需要做反过来,从孩子到父母创建树
假设我有以下树:
1 - Computer
2 - Storage
5 - HDD
6 - SSD
3 - Motherboard
7 - AMD
8 - Intel
4 - Graphics Card
9 - Nvidia
10 - AMD
我有子类别6和10的ID
6 - SSD
10 - AMD
在一个选择中我需要检索这些类别6和10的所有父项以创建这样的树:
1 - Computer
2 - Storage
6 - SSD
4 - Graphics Card
10 - AMD
那么,我应该怎么做?
答案 0 :(得分:0)
我认为这可以帮到你:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
如果您知道子级别的最大数量,例如3,您可以执行以下操作:
SELECT t1.id, t1.name, t2.id, t2.name, t3.id, t3.name
FROM table t1
INNER JOIN table t2
ON t1.parent_id = t2.id
INNER JOIN table t3
ON t2.parent_id = t3.id
WHERE t1.id IN (6, 10)