Mysql查询没有得到所有父ID

时间:2016-06-21 07:32:33

标签: php mysql

我想获取所有的子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

1 个答案:

答案 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