最新消息: 新版网站上线了!!!

mysql 查询所有父级的数据

MySQL表结构
  1. id  name    parent_id   

  2. ---------------------------   

  3. 1   Home        0   

  4. 2   About       1   

  5. 3   Contact     1   

  6. 4   Legal       2   

  7. 5   Privacy     4   

  8. 6   Products    1   

  9. 7   Support     1  

MySQL代码如下:

  1. SELECT T2.id, T2.name   

  2. FROM (   

  3.     SELECT   

  4.         @r AS _id,   

  5.         (SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,   

  6.         @l := @l + 1 AS lvl   

  7.     FROM   

  8.         (SELECT @r := 5, @l := 0) vars,   

  9.         table1 h   

  10.     WHERE @r <> 0) T1   

  11. JOIN table1 T2   

  12. ON T1._id = T2.id   

  13. ORDER BY T1.lvl DESC  

代码@r := 5标示查询id为5的所有父类。结果如下

  1. 1, 'Home'   

  2. 2, 'About'   

  3. 4, 'Legal'   

  4. 5, 'Privacy' 

---转载的别人的文章,我是站在巨人的肩膀上的

.....

转载请注明:谷谷点程序 » mysql 查询所有父级的数据