MySQL 根据 部门ID 查询当前部门&部门的所有上级部门

SQL语句

替换掉这3个字段就可以直接在MySQL运行。id = 部门id、pid = 上级id、name = 部门名称

SELECT T2.id, T2.name, T1.lvl as level
        FROM (
        SELECT
        @r AS _id,
        (SELECT @r := pid FROM '部门表名' WHERE id = _id) AS pid,
        @l := @l + 1 AS lvl
        FROM
        (SELECT @r := #{部门id}, @l := 0) vars,
        '部门表名' h
        WHERE @r != 0) T1
        JOIN '部门表名' T2
        ON T1._id = T2.id
        ORDER BY T1.lvl DESC

相关推荐

  1. leetcode部门工资前三高所有员工(数据库)

    2023-12-05 21:20:07       32 阅读
  2. 185. 部门工资前三高所有员工

    2023-12-05 21:20:07       27 阅读
  3. 公关部门OKR

    2023-12-05 21:20:07       56 阅读
  4. mysql 通过sql计算部门路径方法

    2023-12-05 21:20:07       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 21:20:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 21:20:07       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 21:20:07       82 阅读
  4. Python语言-面向对象

    2023-12-05 21:20:07       91 阅读

热门阅读

  1. day69

    day69

    2023-12-05 21:20:07      49 阅读
  2. 数据产品经理常用的ChatGPT通用提示词模板

    2023-12-05 21:20:07       55 阅读
  3. Ubuntu20.04 Kimera Semantic运行记录

    2023-12-05 21:20:07       61 阅读
  4. 机器学习之决策树及随机森林

    2023-12-05 21:20:07       51 阅读
  5. 修复 Ubuntu 2204 Wi-Fi 热点无法连接问题

    2023-12-05 21:20:07       60 阅读
  6. 决策树详解

    2023-12-05 21:20:07       54 阅读
  7. 编译ubuntu kernel

    2023-12-05 21:20:07       51 阅读
  8. LeetCode [中等]98. 验证二叉搜索树

    2023-12-05 21:20:07       62 阅读
  9. 尝试修改vim光标的思路

    2023-12-05 21:20:07       63 阅读