我想获取所有的子ID(逗号分别)但我的代码只是得到了两级heirachy,而不是更多。我不知道什么问题?这是我的代码
select concat (a.id,',',a.parent_id) as parents
from table1 a
inner join table1 b
on a.id = b.parent_id
where b.id = 5
这是我的表结构:
id | parent_id
---------------------
1 | 6
2 | NULL
3 | 1
4 | 3
5 | 4
6 | NULL
7 | NULL
预期输出:
4,3,1,6
答案 0 :(得分:0)
尝试
SELECT GROUP_CONCAT(@temp:=T.parent_id) as parents
FROM (SELECT * FROM testTable ORDER BY id DESC) T
JOIN
(SELECT @temp:=5)tmp
WHERE T.id=@temp;
参考:SQL Fiddle