mysql从子类id查询所有父类

 

原创  mysql从子类id查询所有父类 收藏

表结构

 

view plain copy to clipboard print ?
  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代码如下:

 

view plain copy to clipboard print ?
  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的所有父类。结果如下

 

view plain copy to clipboard print ?
  1. 1, 'Home'  
  2. 2, 'About'  
  3. 4, 'Legal'  
  4. 5, 'Privacy'  

 

你可能感兴趣的:(mysql,数据库,父类,休闲,查询子类)