如何使用mysql查询在层次结构中列出所有具有其根父级的子级

时间:2018-02-23 11:07:18

标签: mysql

我有一个mysql数据库表,其中包含以分层方式显示父位置ID的位置列表,因此我想列出所有位置及其根父位置

以下是样本表

id     location_name  parent_id
1         a             0            
2         b             0
3         c             0
4         d             1
5         e             1
6         f             5
7         g             4
8         k             2
9         l             8
10        j             9

以下是我想要的结果

id     location_name  root_parent_name
1         a             a            
2         b             b
3         c             c
4         d             a
5         e             a
6         f             a
7         g             a
8         k             b
9         l             b
10        j             b

父名称是根父位置

1 个答案:

答案 0 :(得分:0)

尝试以下

 SELECT t1.name as parent, t2.`name` as name FROM `test` t1 RIGHT JOIN `test` t2 ON t2.`p_id` = t1.id