首页 > 数据库 >MySQL实现树形查询

MySQL实现树形查询

时间:2023-05-09 19:11:24浏览次数:33  
标签:resource perm 查询 aio 树形 VALUES MySQL 1.011 null

需要mysql 8以上,5.7不支持 

 

https://www.jianshu.com/p/f908aa35d448

 

	CREATE TABLE `perm_resource` (
  `resource_id` varchar(50) NOT NULL COMMENT '资源ID',
  `resource_name` varchar(100) DEFAULT NULL COMMENT '资源名称',
  `resource_parent_id` varchar(50) DEFAULT NULL COMMENT '父节点ID',
  `is_enable` varchar(1) DEFAULT NULL COMMENT '是否启用',
  `order_id` varchar(20) DEFAULT NULL COMMENT '排序ID',
  `resource_path` varchar(200) DEFAULT NULL COMMENT '资源路径',
  `menu_level` varchar(2) DEFAULT NULL COMMENT '菜单级别',
  `belong_systems` varchar(20) DEFAULT NULL COMMENT '所属系统',
  `is_del` varchar(1) DEFAULT NULL COMMENT '是否可删除',
  `resource_type` varchar(1) DEFAULT NULL COMMENT '资源类型(COMM_CODE_ZYLX)',
  `button_id` varchar(50) DEFAULT NULL COMMENT '功能菜单ID',
  `menu_path` varchar(200) DEFAULT NULL COMMENT '树结构路径',
  `login_flag` varchar(1) DEFAULT NULL COMMENT '是否需要登录标志',
  `login_page` varchar(200) DEFAULT NULL COMMENT '登录页面',
  `color` varchar(20) DEFAULT NULL COMMENT '按钮背景颜色',
  `icon` varchar(50) DEFAULT NULL COMMENT '图标资源',
  PRIMARY KEY (`resource_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='资源';


	INSERT INTO `perm_resource` VALUES ('011', '社会保险(个人)', '1', '1', '1', null, '2', '1', '1', null, null, '.1.011.', '1', null, null, null);
INSERT INTO `perm_resource` VALUES ('01101', '个人中心', '011', '1', '10', null, '3', '1', '1', '1', null, '.1.011.01101.', '1', '1', null, null);
INSERT INTO `perm_resource` VALUES ('0110102', '待遇资格', '01101', '1', '2', '/aio/view/neuqsoft/handan/yl/facecompare.jsp', '4', '1', '1', '1', null, '.1.011.01101.0110102.', '1', '1', '#4cd964', '/aio/aio/comm/image/menuIcon10.png');
INSERT INTO `perm_resource` VALUES ('0110103', '缴费证明打印', '01101', '1', '1', '/aio/view/neuqsoft/handan/yl/grjfzm.jsp', '4', '1', '1', '1', null, '.1.011.01101.0110103.', '1', '1', '#ff2d55', '/aio/aio/comm/image/menuIcon3.png');
INSERT INTO `perm_resource` VALUES ('01103', '医疗保险', '011', '1', '30', null, '3', '1', '1', '1', null, '.1.011.01103.', '1', '1', null, null);
INSERT INTO `perm_resource` VALUES ('0110307', '基本信息查询', '01103', '1', '10', '/aio/view/neuqsoft/handan/yb/query_basicinfo.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110307.', '1', '1', '#5ac8fa', '/aio/aio/comm/image/menuIcon14.png');
INSERT INTO `perm_resource` VALUES ('0110308', '参保信息查询', '01103', '1', '20', '/aio/view/neuqsoft/handan/yb/grcbxxquery.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110308.', '1', '1', null, '/aio/aio/comm/image/menuIcon1.png');
INSERT INTO `perm_resource` VALUES ('0110309', '缴费明细查询', '01103', '1', '30', '/aio/view/neuqsoft/handan/yb/query_jfmx.jsp', '4', '1', '1', '1', null, '.1.011.01103.0110309.', '1', '1', '#FF9900', '/aio/aio/comm/image/menuIcon12.png');
INSERT INTO `perm_resource` VALUES ('0110310', '医保账户查询', '01103', '1', '40', '/aio/view/neuqsoft/handan/yb/query_grzh.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110310.', '1', '1', null, '/aio/aio/comm/image/menuIcon17.png');
INSERT INTO `perm_resource` VALUES ('0110311', '医疗消费查询', '01103', '1', '50', '/aio/view/neuqsoft/handan/yb/querydoctor_zhzc.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110311.', '1', '1', null, '/aio/aio/comm/image/menuIcon16.png');
INSERT INTO `perm_resource` VALUES ('0110312', '药品目录', '01103', '1', '60', '/aio/view/neuqsoft/handan/yb/drugscatalog.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110312.', '1', '1', null, '/aio/aio/comm/image/menuIcon4.png');
INSERT INTO `perm_resource` VALUES ('0110313', '诊疗目录', '01103', '1', '70', '/aio/view/neuqsoft/handan/yb/zhenliaomulu.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110313.', '1', '1', null, '/aio/aio/comm/image/menuIcon23.png');
INSERT INTO `perm_resource` VALUES ('0110314', '医疗机构', '01103', '1', '80', '/aio/view/neuqsoft/handan/yb/query_yljg.jsp', '4', '1', '1', '2', null, '.1.011.01103.0110314.', '1', '1', null, '/aio/aio/comm/image/menuIcon21.png');
INSERT INTO `perm_resource` VALUES ('01104', '工伤保险', '011', '1', '40', null, '3', '1', '1', '1', null, '.1.011.01104.', '1', '1', null, null);
INSERT INTO `perm_resource` VALUES ('0110401', '参保信息查询', '01104', '1', '20', '/aio/view/neuqsoft/handan/gs/grcbxxquery.jsp', '4', '1', '1', '2', null, '.1.011.01104.0110401.', '1', '1', '#ff9500', '/aio/aio/comm/image/menuIcon1.png');
INSERT INTO `perm_resource` VALUES ('0110402', '待遇发放查询', '01104', '1', '30', '/aio/view/neuqsoft/handan/gs/query_dyff.jsp', '4', '1', '1', '2', null, '.1.011.01104.0110402.', '1', '1', '#4cd964', '/aio/aio/comm/image/menuIcon22.png');
INSERT INTO `perm_resource` VALUES ('0110403', '基本信息查询', '01104', '1', '10', '/aio/view/neuqsoft/handan/gs/query_basicinfo.jsp', '4', '1', '1', '2', null, '.1.011.01104.0110403.', '1', '1', '#4cd964', '/aio/aio/comm/image/menuIcon14.png');
INSERT INTO `perm_resource` VALUES ('0110404', '缴费明细查询', '01104', '1', '40', '/aio/view/neuqsoft/handan/gs/query_jfmx.jsp', '4', '1', '1', '2', null, '.1.011.01104.0110404.', '1', '1', null, '/aio/aio/comm/image/menuIcon12.png');
INSERT INTO `perm_resource` VALUES ('01105', '企业养老保险', '011', '1', '20', null, '3', '1', '1', '1', null, '.1.011.01105.', '1', '1', null, null);
INSERT INTO `perm_resource` VALUES ('0110501', '灵活人员缴费核定', '01105', '1', '80', '/aio/view/neuqsoft/handan/yl/hdsb.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110501.', '1', '1', null, '/aio/aio/comm/image/lhjfhd.png');
INSERT INTO `perm_resource` VALUES ('0110502', '个人权益单打印', '01105', '1', '85', '/aio/view/neuqsoft/handan/yl/grqyd.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110502.', '1', '1', null, '/aio/aio/comm/image/menuIcon16.png');
INSERT INTO `perm_resource` VALUES ('0110503', '待遇发放查询', '01105', '1', '40', '/aio/view/neuqsoft/handan/yl/query_yljff.jsp', '4', '1', '1', '1', null, '.1.011.01105.0110503.', '1', '1', '#ff2d55', '/aio/aio/comm/image/menuIcon19.png');
INSERT INTO `perm_resource` VALUES ('0110504', '退休金证明信打印', '01105', '1', '90', '/aio/view/neuqsoft/handan/yl/txrygzzm.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110504.', '1', '1', null, '/aio/aio/comm/image/menuIcon17.png');
INSERT INTO `perm_resource` VALUES ('0110505', '基本信息查询', '01105', '1', '10', '/aio/view/neuqsoft/handan/yl/query_basicinfo.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110505.', '1', '1', '#ffcc00', '/aio/aio/comm/image/menuIcon14.png');
INSERT INTO `perm_resource` VALUES ('0110506', '参保信息查询', '01105', '1', '20', '/aio/view/neuqsoft/handan/yl/grcbxxquery.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110506.', '1', '1', '#ff9500', '/aio/aio/comm/image/menuIcon1.png');
INSERT INTO `perm_resource` VALUES ('0110510', '养老账户查询', '01105', '1', '60', '/aio/view/neuqsoft/handan/yl/query_ylyzh.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110510.', '1', '1', null, '/aio/aio/comm/image/menuIcon17.png');
INSERT INTO `perm_resource` VALUES ('0110511', '缴费明细查询', '01105', '1', '30', '/aio/view/neuqsoft/handan/yl/query_jfmx.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110511.', '1', '1', null, '/aio/aio/comm/image/menuIcon12.png');
INSERT INTO `perm_resource` VALUES ('0110512', '缴费证明打印', '01105', '1', '70', '/aio/view/neuqsoft/handan/yl/grjfzm.jsp', '4', '1', '1', '2', null, '.1.011.01105.0110512.', '1', '1', null, '/aio/aio/comm/image/menuIcon3.png');

with recursive tab1(resource_id,resource_name,menu_level,resource_path,rn,orderstr) AS (
    SELECT resource_id,resource_name,menu_level,resource_path,
           @rn := 1 rn,
           cast(@rn AS CHAR) orderstr
    FROM perm_resource t0
    WHERE t0.belong_systems = '1' AND t0.resource_id='011'

    union all 

    SELECT t1.resource_id,t1.resource_name,t1.menu_level,t2.resource_path,
           @rn := @rn + 1 rn,
           concat(t2.orderstr, '-', @rn)
    FROM perm_resource t1, tab1 t2
    WHERE t1.belong_systems = '1' AND t1.resource_parent_id = t2.resource_id
)
SELECT t3.* FROM tab1 t3 
WHERE t3.rn > '0'
ORDER BY t3.orderstr;

  

标签:resource,perm,查询,aio,树形,VALUES,MySQL,1.011,null
From: https://www.cnblogs.com/rslai/p/17385988.html

相关文章

  • mysql 去重分组后取每组时间最新的一条记录
    mysql去重分组后取每组时间最新的一条记录第一步:先分组后取到分组的那个id以及每个组最新的数据--先根据课程分组,然后在取这组统计数据中最先的日期selectCourseID,MAX(CountDate)asCountDate fromRep_school_class_course_count_data_cod......
  • MySQL笔记之文件和日志
    一、存储文件1、存放位置MySQL数据库会在data目录下,以数据库为名,为每一个数据库建立文件夹,用来存储数据库中的表文件数据。不同的数据库引擎,每个表的扩展名也不一样,例如:MyISAM用“.MYD”作为扩展名,Innodb用“.ibd”等。 2、FRM表结构信息文件无论是哪种存储引擎,创建表之......
  • php:7-cli-apline安装mysql redis mongo扩展模块
    apkadd--no-cachebuild-dependenciesbuild-baseopenssl-devautoconfg++libtoolmakecurl-devlibxml2-devlinux-headersdocker-php-ext-install-j2mysqlidocker-php-ext-installpdo_mysqlpeclinstallmongodb-1.2.2echo"extension=mongodb.so"......
  • 由浅入深学MySQL之事务全攻略
    前言从今天开始本系列就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系。非常适合零基础的小伙伴来学习。全文大约【1707】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!......
  • SQLite3 to MySQL
    SQLite3toMySQLAsimplePythontooltotransferdatafromSQLite3toMySQL.Ioriginallywrotethissimpleprogramasastandalonescriptandpublisheditasa gist asananswertothis StackOverflowquestion.Sincethenquitesomepeoplehavetakeni......
  • MySQL的redolog和binlog有哪些区别?
    redolog是innodb生成的日志,主要为了保证数据的可靠性;binlog是MySQLserver层面上生成的日志,主要用于pointintime恢复和主从复制。undolog主要用于事务的回滚和一致性快照读(MVCC多版本并发控制)。MySQL中的redolog、binlog的功能很像,那么有什么区别?区别如下:red......
  • using method 'mysql_native_password' failed with message
    错误消息:Connectionopenerror.Authenticationtohost'10.114.129.206'foruser'root'usingmethod'mysql_native_password'failedwithmessage:Readingfromthestreamhasfailed.DbType="MySql";ConfigId=""......
  • MySQL百万数据深度分页优化思路分析
    业务场景一般在项目开发中会有很多的统计数据需要进行上报分析,一般在分析过后会在后台展示出来给运营和产品进行分页查看,最常见的一种就是根据日期进行筛选。这种统计数据随着时间的推移数据量会慢慢的变大,达到百万、千万条数据只是时间问题。瓶颈再现创建了一张user表,给create......
  • Redis查询之RediSearch和RedisJSON讲解
    来源于:https://www.cnblogs.com/jingzh/p/17033403.html目录1Redis查询1.1RedisMod介绍1.2安装Redis1.3RediSearch+RedisJSON安装1.3.1下载安装1.3.2修改配置1.4RedisJSON操作1.4.1基本操作1.4.1.1保存操作JSON.SET1.4.1.2读取操作JSON.GET1.4.1.......
  • Centos7安装Mysql5.7.42
    安装前的清理查看是否安装了Mysql版本yumlistinstalledmysql*rpm–qa|grepmysql*如果安装了请自行卸载查看是否安装了MariaDBrpm-qa|grepmariadb如果安装了MariaDB,则进行删除操作rpm-e--nodepsmariadb-libs下载Mysql5.7.42wgethttps://cdn.mysql.com//Downl......