博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 函数tree状
阅读量:4566 次
发布时间:2019-06-08

本文共 1213 字,大约阅读时间需要 4 分钟。

// 子节点的查询 CREATE DEFINER = `root`@`%` FUNCTION `getDeptChildList`(rootId BIGINT) RETURNS longtext    DETERMINISTICBEGINDECLARE sTemp LONGTEXT;DECLARE sTempChd LONGTEXT; SET sTemp = '';SET sTempChd =cast(rootId as CHAR); loop1:LOOPSELECT group_concat(id) INTO sTempChd FROM sys_dept where FIND_IN_SET(pid,sTempChd)>0;IF sTempChd is not null THENSET sTemp = concat(sTemp,',',sTempChd);ELSELEAVE loop1;END IF;END LOOP;SET sTemp = TRIM(',' FROM sTemp);RETURN sTemp;END;

select A.* from sys_dept A inner join (select getDeptChildList('1067246875800000066') as idArr) TEMP where FIND_IN_SET(A.id, TEMP.idArr);

 

 

CREATE FUNCTION `getFatherLst`(rootId INT)RETURNS varchar(1000)BEGINDECLARE sTemp VARCHAR(1000);DECLARE sTempPrt VARCHAR(1000); SET sTemp = '';SET sTempPrt = cast(rootId as CHAR); loop1:LOOPSELECT group_concat(father_id) INTO sTempPrt FROM tbl_tree where FIND_IN_SET(id,sTempChd)>0;IF sTempPrt is not null THENSET sTemp = concat(sTemp,',',sTempPrt);ELSELEAVE loop1;END IF;END LOOP; SET sTemp = TRIM(',' FROM sTemp);RETURN sTemp;END
select A.* from tbl_tree A inner join (select getFatherLst(15000) as idArr) TEMP where FIND_IN_SET(A.id, TEMP.idArr);

 

转载于:https://www.cnblogs.com/chengyangyang/p/10489270.html

你可能感兴趣的文章
java多线程1-生产者与消费者
查看>>
C# 字符串处理函數大全
查看>>
老师上课总是不给PPT?于是我用几行python代码偷偷复制U盘文件
查看>>
HDU 1022 ( Train Problem I )
查看>>
node.js&pm2搭建node生产环境
查看>>
tornado write render redirect IP
查看>>
WebGL笔记(目录)
查看>>
JavaScript中的单体模式四种实现方式
查看>>
帮程序员减压放松的10个良心网站
查看>>
工作压力山大?码农这么减压最有效
查看>>
python学习手册笔记——13.while和for循环
查看>>
4 pandas模块,Series类
查看>>
sql server 的datediff函数
查看>>
mongoDB创建windows服务启动解决
查看>>
差点被处分
查看>>
mysql局域网连接
查看>>
分布式配置中心(Native - Config)
查看>>
WPF尖角框的绘制
查看>>
操作系统与计算机的演变
查看>>
escape, encodeURI, encodeURIComponent
查看>>