数据库字段及数据:
id,name,parent_id
1 张三
2 李四 1
3 王五 1,2
其中id代表用户id,parent_id代表父级链与用户id对应
需求:让parent_id查出的数据能显示name
大致输出:
|id| name| parent |
|--| -------| ------------ |
|1| 张三 | |
|2| 李四 | 张三 |
|3| 王五 | 张三,李四 |
select t1.id,t1.name,GROUP_CONCAT(t2.name) as parent From t1
LEFT JOIN t2 on FIND_IN_SET(t2.id,t1.parent_id)
GROUP BY t1.id
如果是MYSQL8.0版本,可以用with递归
select s1.id as id, s1.name as name, s2.name as parent,
from student s1
left join student s2 on s1.parent_id=s2.id