Welcome 微信登录

首页 / 数据库 / MySQL / MySQL从子类id查询所有父类

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" 
Oracle 数据字典表之:DBA_TABLESOracle 数据库中v$session and v$process浅析相关资讯      MySQL教程 
  • 30分钟带你快速入门MySQL教程  (02月03日)
  • MySQL教程:关于I/O内存方面的一些  (01月24日)
  • CentOS上开启MySQL远程访问权限  (01/29/2013 10:58:40)
  • MySQL教程:关于checkpoint机制  (01月24日)
  • MySQL::Sandbox  (04/14/2013 08:03:38)
  • 生产环境MySQL 5.5.x单机多实例配  (11/02/2012 21:02:36)
本文评论 查看全部评论 (0)
表情: 姓名: 字数