我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql怎么查询上下级机构

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql怎么查询上下级机构

这篇文章主要讲解了“mysql怎么查询上下级机构”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql怎么查询上下级机构”吧!

思路:

  • 自定义mysql方法

  • 利用mysql中的【FIND_IN_SET】【group_concat】两个方法

(1)准备测试数据表

CREATE TABLE `org_test` (  `org_no` varchar(32) NOT NULL COMMENT '机构编号',  `org_name` varchar(200) NOT NULL COMMENT '机构名称',  `p_org_no` varchar(32) DEFAULT NULL COMMENT '上级机构编号',  PRIMARY KEY (`org_no`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

测试数据

INSERT INTO `org_test` VALUES ('1001', '福建省', null);INSERT INTO `org_test` VALUES ('100101', '厦门市', '1001');INSERT INTO `org_test` VALUES ('10010101', '思明区', '100101');INSERT INTO `org_test` VALUES ('10010102', '湖里区', '100101');INSERT INTO `org_test` VALUES ('10010103', '同安区', '100101');INSERT INTO `org_test` VALUES ('100102', '福州市', '1001');

(2)查询指定机构的所有下级机构(包括自身)

delimiter $$CREATE FUNCTION getOrgChild (orgNo varchar(32)) RETURNS varchar(1000) CHARSET utf8BEGIN-- 定义临时变量DECLARE tmpOrg varchar(1000) DEFAULT '';-- 循环查询,orgNo不为空,则循环WHILE orgNo IS NOT NULL DO-- 拼接所有查询结果IF tmpOrg = '' THENSET tmpOrg = CONCAT(tmpOrg, orgNo);ELSESET tmpOrg = CONCAT(tmpOrg, ',', orgNo);END IF;-- 查询数据SELECT group_concat(org_no) INTO orgNo FROM org_test WHERE FIND_IN_SET(p_org_no, orgNo) > 0;END WHILE;-- 返回结果RETURN tmpOrg;END $$

测试结果:

mysql怎么查询上下级机构

(3)查询指定机构的所有上级机构(包括自身)

delimiter $$CREATE FUNCTION getOrgParent (orgNo varchar(32)) RETURNS varchar(1000) CHARSET utf8BEGIN-- 定义临时变量DECLARE tmpOrg varchar(1000) DEFAULT '';-- 循环查询,orgNo不为空,则循环WHILE orgNo IS NOT NULL DO-- 拼接所有查询结果IF tmpOrg = '' THENSET tmpOrg = CONCAT(tmpOrg, orgNo);ELSESET tmpOrg = CONCAT(tmpOrg, ',', orgNo);END IF;-- 查询数据SELECT group_concat(p_org_no) INTO orgNo FROM org_test WHERE FIND_IN_SET(org_no, orgNo) > 0;END WHILE;-- 返回结果RETURN tmpOrg;END $$

测试结果:

mysql怎么查询上下级机构

感谢各位的阅读,以上就是“mysql怎么查询上下级机构”的内容了,经过本文的学习后,相信大家对mysql怎么查询上下级机构这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

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

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

mysql怎么查询上下级机构

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql怎么查询上下级机构

这篇文章主要讲解了“mysql怎么查询上下级机构”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql怎么查询上下级机构”吧!思路:自定义mysql方法利用mysql中的【FIND_IN_
2023-06-30

mysql上亿数据秒级查询怎么实现

要实现MySQL上亿数据的秒级查询,需要考虑以下几个方面:1. 数据分库分表:将数据分散存储在多个数据库和表中,以减少单个数据库或表的数据量,提高查询性能。可以根据某个字段进行分库分表,如用户ID、时间等。2. 索引优化:通过合理地创建索引
2023-10-27

CentOS下MySQL怎么查看表结构

本篇内容主要讲解“CentOS下MySQL怎么查看表结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CentOS下MySQL怎么查看表结构”吧!查看表结构:#include
2023-06-16

MySql多级菜单查询怎么实现

本篇内容主要讲解“MySql多级菜单查询怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySql多级菜单查询怎么实现”吧!背景工作中(尤其是传统项目中)经常遇到这种需要,就是树形结构的查
2023-03-10

mysql递归查询树形结构怎么应用

在MySQL中实现递归查询树形结构可以使用递归查询语句(Recursive Query Statement)或者使用存储过程来实现。使用递归查询语句:递归查询语句使用了WITH RECURSIVE子句,可以在语句中递归引用自身。以下是一个使
2023-10-25

MySQL怎么联合查询优化机制

这篇文章将为大家详细讲解有关MySQL怎么联合查询优化机制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL 联合查询执行策略。以一个 UNION 查询为例,MySQL 执行 UNION 查询时,会
2023-06-15

MySQL二级索引查询过程是怎么样的

这篇文章将为大家详细讲解有关MySQL二级索引查询过程是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言聚簇索引就是innodb默认创建的基于主键的索引结构,而且表里的数据就是直接放在聚簇索引里
2023-06-29

计算机软考高级证书怎么查?计算机软考高级证书查询方法

计算机软考高级证书怎么查询?计算机软考高级证书查询怎么做?计算机软考高级证书的查询方法是很多软考高级考生成绩合格后关心的问题,今天我们就整理了计算机软考高级证书查询方法的内容,希望能帮助到各位考生。
计算机软考高级证书怎么查?计算机软考高级证书查询方法
2024-09-18

计算机软考中级证书怎么查?计算机软考中级证书查询方法

计算机软考中级证书怎么查询?计算机软考中级证书查询怎么做?计算机软考中级证书的查询方法是很多软考中级考生成绩合格后关心的问题,今天我们就整理了计算机软考中级证书查询方法的内容,希望能帮助到各位考生。
计算机软考中级证书怎么查?计算机软考中级证书查询方法
2024-09-18

计算机软考初级证书怎么查?计算机软考初级证书查询方法

计算机软考初级证书怎么查询?计算机软考初级证书查询怎么做?计算机软考初级证书的查询方法是很多软考初级考生成绩合格后关心的问题,今天我们就整理了计算机软考初级证书查询方法的内容,希望能帮助到各位考生。
计算机软考初级证书怎么查?计算机软考初级证书查询方法
2024-09-18

mysql数据库怎么用sql语句查询存储结构

要查询 mysql 数据库存储结构,可以使用以下 sql 语句:show create table table_name;该语句将返回表的列定义和表选项的信息,包括列的名称、数据类型、约束和表的一般属性,例如存储引擎和字符集。如何使用 SQ
mysql数据库怎么用sql语句查询存储结构
2024-04-14

2021下半年计算机软考成绩怎么查询

  参加2021下半年计算机软考的考生都很关注成绩怎么查询,赶紧来看下2021下半年计算机软考成绩怎么查询吧!  计算机软考成绩通常在考试结束后两个月内公布,根据往年计算机软考成绩查询时间来看,编程学习网小编预计2021下半年计算机软考成绩查询时间在12月底。计算机软考的合格标准基本上稳定在各科目45分及格,合格标准并不是
2021下半年计算机软考成绩怎么查询
2024-04-19

2021下半年计算机软考怎么查询成绩

  参加2021下半年计算机软考的考生都很关注怎么查询成绩,赶紧来看下2021下半年计算机软考怎么查询成绩吧!  计算机软考成绩通常在考试结束后两个月内公布,根据往年计算机软考成绩查询时间来看,编程学习网小编预计2021下半年计算机软考成绩查询时间在12月底。计算机软考的合格标准基本上稳定在各科目45分及格,合格标准并不是
2021下半年计算机软考怎么查询成绩
2024-04-19

编程热搜

目录