文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql根据某层部门ID查询所有下级多层子部门的示例

2022-05-18 02:47

关注

模拟表和数据脚本

复制以下sql语句生成一个叫sys_dept的表和插入若干构造好的有层级关系的数据,直接复制执行就ok


DROP TABLE IF EXISTS `sys_dept`;
CREATE TABLE `sys_dept` (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '部门编号',
 `p_id` int(11) DEFAULT NULL COMMENT '父级部门编号',
 `title` varchar(255) DEFAULT NULL COMMENT '父级部门名称',
 `is_open` int(11) DEFAULT NULL COMMENT '是否展开(0-展开,1-不展开)',
 `address` varchar(255) DEFAULT NULL COMMENT '部门地址',
 `create_time` datetime DEFAULT NULL COMMENT '创建时间',
 `remark` varchar(255) DEFAULT NULL COMMENT '备注',
 PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


INSERT INTO sys_dept (p_id,title,is_open,address,create_time,remark) VALUES 
(0,'总经办',1,'深圳','2019-04-10 14:06:32.000','大BOSS')
,(1,'销售部',0,'武汉','2019-04-10 14:06:32.000','程序员?潘?)
,(1,'运营部',0,'武汉','2019-04-10 14:06:32.000','无')
,(1,'生产部',0,'武汉','2019-04-10 14:06:32.000','无')
,(2,'销售一部',0,'武汉','2019-04-10 14:06:32.000','销售一部')
,(2,'销售二部',0,'武汉','2019-04-10 14:06:32.000','销售二部')
,(2,'销售三部',0,'广州','2019-04-10 14:06:32.000','销售三部')
,(2,'销售四部',0,'广州','2019-04-10 14:06:32.000','销售四部')
,(2,'销售五部',0,'广州','2019-04-10 14:06:32.000','销售五部')
,(3,'运营一部',0,'武汉','2019-04-10 14:06:32.000','运营一部')
,(3,'运营二部',0,'武汉','2019-04-10 14:06:32.000','运营二部')
,(3,'运营三部',0,'武汉','2019-04-10 14:06:32.000','运营三部')
,(3,'运营四部',0,'武汉','2019-04-10 14:06:32.000','运营四部')
,(3,'运营五部',0,'武汉','2019-04-10 14:06:32.000','运营五部')
,(4,'生产一部',1,'深圳','2019-11-23 09:50:23.000','生产一部')
,(4,'生产二部',1,'深圳','2019-11-23 09:50:23.000','生产二部')
,(4,'生产三部',1,'深圳','2019-11-23 09:50:23.000','生产三部')
,(5,'销售一部一组',1,'深圳','2019-11-23 09:50:23.000','销售一部一组')
,(5,'销售一部二组',1,'深圳','2019-11-23 09:50:23.000','销售一部二组')
,(5,'销售一部三组',1,'深圳','2019-11-23 09:50:23.000','销售一部三组')
,(6,'销售二部一组',1,'深圳','2019-11-23 09:50:23.000','销售二部一组')
,(6,'销售二部二组',1,'深圳','2019-11-23 09:50:23.000','销售二部二组')
,(17,'生产三部一组',1,'深圳','2019-11-23 09:50:23.000','生产三部一组')
,(17,'生产三部二组',1,'深圳','2019-11-23 09:50:23.000','生产三部二组')
,(17,'生产三部三组',1,'深圳','2019-11-23 09:50:23.000','生产三部三组')
;

根据部门ID查询所有子部门


select
 id,title
from
 (
 select
 t1.id,t1.title,
 if(find_in_set(p_id, @pids) > 0,
 @pids := concat(@pids, ',', id),
 0) as ischild
 from
 (
 select
  id,
  p_id,
  title
 from
  ssmdemo.sys_dept t
 order by
  p_id,
  id ) t1,
 (
  select @pids := 17) t2 ) t3
where
 ischild != 0

其中@pids := 17的17就是要查询的部门ID

到此这篇关于Mysql根据某层部门ID查询所有下级多层子部门的示例的文章就介绍到这了,更多相关Mysql ID查询所有下级多层子部门内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯