使用MYSQL实现Oracle的Start with...Connect By递归树查询
来源:互联网 发布:数据库开发 编辑:程序博客网 时间:2024/04/30 12:36
- CREATE TABLE nodelist(
- id INT PRIMARY KEY, //本节点ID。
- nodename VARCHAR(20), //节点名称,为方便辨别而已。
- pid INT //父节点。
- );
- Insert INTO nodelist VALUES(1,'A',null); //父节点为,即根节点。
- Insert INTO nodelist VALUES(2,'B',1);
- Insert INTO nodelist VALUES(3,'C',1);
- Insert INTO nodelist VALUES(4,'D',2);
- Insert INTO nodelist VALUES(5,'E',3);
- Insert INTO nodelist VALUES(6,'F',3);
- Insert INTO nodelist VALUES(7,'G',5);
- Insert INTO nodelist VALUES(8,'H',7);
- Insert INTO nodelist VALUES(9,'I',8);
- Insert INTO nodelist VALUES(10,'J',8);
- CREATE FUNCTION `getChildList`(rootId INT) //rootId为你要查询的节点。
- RETURNS VARCHAR(1000)
- BEGIN
- DECLARE pTemp VARCHAR(1000);
- DECLARE cTemp VARCHAR(1000); //两个临时变量
- SET pTemp = '$';
- SET cTemp =cast(rootId as CHAR); //把rootId强制转换为字符。
- WHILE cTemp is not null DO
- SET pTemp = concat(pTemp,',',cTemp); //把所有节点连接成字符串。
- SELECT group_concat(id) INTO cTemp FROM nodelist
- WHERE FIND_IN_SET(pid,cTemp)>0;
- // FIND_IN_SET(str,strlist)的方法网上大把不解释。
- END WHILE;
- RETURN pTemp;
- END
- SELECT getChildList(1);
- SELECT * FROM nodelist WHERE FIND_IN_SET(id, getChildList(3));
阅读全文
0 0
- 使用MYSQL实现Oracle的Start with...Connect By递归树查询
- 使用MYSQL实现Oracle的Start with...Connect By递归树查询
- MYSQL实现Oracle的Start with…Connect By递归树查询
- Oracle start with......connect by prior......子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with.connect by prior子句实现递归查询
- Oracle start with...connect by prior 实现递归查询
- Oracle递归查询 start with Connect By
- oracle递归查询 start with...connect by
- oracle start with connect by递归查询
- Oracle 递归查询 树查询 start with SQL CONNECT BY
- mysql 实现oracle start with connect by递归
- mysql 实现oracle start with connect by递归
- Oracle 的树形递归查询 Start With Connect BY
- oracle 使用 START WITH…CONNECT BY PRIOR 实现递归查询
- Linux学习之端口被占用查询方法详解
- 编译运行Android模拟器
- Http服务器实现文件上传与下载(四)
- javahost:使用虚拟DNS省掉开发环境配置hosts文件
- 【泛型】Gson的序列化和反序列化
- 使用MYSQL实现Oracle的Start with...Connect By递归树查询
- 1186: 机器指令
- Spring Cloud 客服端负载均衡 Ribbon
- Kafka 设计与原理详解
- JavaScript学习笔记apply、call、bind用法说明
- Spring Cloud 声明式服务调用 Feign
- Spring Cloud 注册中心Eureka
- Python进阶
- Android 的Activity.getWindowManager().getDefaultDisplay().getWidth()过时了