mysql 递归
来源:互联网 发布:如何清理地图数据 编辑:程序博客网 时间:2024/06/01 08:46
- 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递归?
- mysql 递归
- mysql 递归
- mysql递归查询
- Mysql递归查询
- MySQL递归层次查询
- MySql递归层次查询
- Mysql存储过程递归
- mysql 递归获取子类
- mysql递归查询。
- MySql递归查询函数
- Mysql递归查询
- mySql递归查询函数
- mysql递归查询
- MySQL递归查询
- mysql递归查询
- MYSQL 递归实现
- mybatis+mysql递归查询
- 邮件服务器配置(服务器篇):lotus domino 9.0.1安装及配置
- linux下基于tcp的FTP编程
- 负载均衡
- oracle多个字典数据以逗号分隔查询
- 欧姆龙CX-one编程基本知识
- mysql 递归
- RPC框架Thrif数据类型
- 删除数据时检查数据是否被其他数据表使用,其他位置使用了,就不给删除
- Windows下搭建Redis集群
- Python小练习
- jQuery选择器总结
- iptables --algo 字符串匹配算法 bm kmp
- iOS 对象数组的深拷贝(NSCoding协议)
- Cows(凸包面积)