mysql 函数tree状
2024-09-08 09:33:57
// 子节点的查询 CREATE DEFINER = `root`@`%` FUNCTION `getDeptChildList`(rootId BIGINT)
RETURNS longtext
DETERMINISTIC
BEGIN
DECLARE sTemp LONGTEXT;
DECLARE sTempChd LONGTEXT; SET sTemp = '';
SET sTempChd =cast(rootId as CHAR); loop1:LOOP
SELECT group_concat(id) INTO sTempChd FROM sys_dept where FIND_IN_SET(pid,sTempChd)>;
IF sTempChd is not null THEN
SET sTemp = concat(sTemp,',',sTempChd);
ELSE
LEAVE 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()
BEGIN
DECLARE sTemp VARCHAR();
DECLARE sTempPrt VARCHAR(); SET sTemp = '';
SET sTempPrt = cast(rootId as CHAR); loop1:LOOP
SELECT group_concat(father_id) INTO sTempPrt FROM tbl_tree where FIND_IN_SET(id,sTempChd)>;
IF sTempPrt is not null THEN
SET sTemp = concat(sTemp,',',sTempPrt);
ELSE
LEAVE 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);
最新文章
- [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装
- Android中常用单位dp,px,sp之间的相互转换
- 转:java中scanner类的用法
- VB.Net 文件处理类
- kafka.network.SocketServer分析
- bzoj 3131 [Sdoi2013]淘金(数位DP+优先队列)
- Go-new和make
- Visual Studio 2017正式版使用一些疑问
- Ubuntu系统的安装Sublime3
- Django_实现分页
- [BZOJ1609] [Usaco2008 Feb] Eating Together麻烦的聚餐 (dp)
- elementUI-事件绑定Bug
- Batch入门教程丨第一章:部署与Hello World!(上)
- Software License Manager
- Hadoop源码系列(一)FairScheduler申请和分配container的过程
- 【2.0】SpringBoot2配置Druid数据源及监控
- SPLAY,LCT学习笔记(三)
- 超全面!UI设计师如何适配2018新款iPhone
- POJ.2454.Jersey Politics(随机化算法)
- Selenium2+python自动化42-判断元素(expected_conditions)