Advertisement

MySQL - Recursive departmental query

阅读量:

MySQL - 递归查询部门组织

Max.Bai

2019年11月

0x00: 背景

项目需检索某人员所归属的部门信息,包括其直接上级单位及更上一级的管理部门,以此明确该人员所属的完整部门层级路径。

0x01: MySQL 代码

复制代码
 SELECT id, dept_name, `level`, parent_dept_id

    
     FROM ( 
    
     SELECT 
    
             @r AS _id, 
    
             (SELECT @r := parent_dept_id FROM dept WHERE id = _id) AS parent_id, 
    
              @l := @l + 1 AS lvl 
    
     FROM 
    
             (SELECT @r := 3478, @l := 0) vars, 
    
             dept h 
    
     WHERE @r <> 0
    
 				) T1 
    
     JOIN dept T2 
    
     ON T1._id = T2.id
    
 ORDER BY `level`;
    

全部评论 (0)

还没有任何评论哟~