Mysql 递归查询

来源:互联网 发布:蚂蚁聚宝网络异常 编辑:程序博客网 时间:2024/06/14 01:30

先看表结构:




看sql语句:

DROP FUNCTION IF EXISTS Fun_RecursionDict;CREATE FUNCTION `Fun_RecursionDict` (id INT)RETURNS VARCHAR(4000)BEGINDECLARE sTemp VARCHAR(4000);DECLARE sTempChd VARCHAR(4000);SET sTemp = '$';SET sTempChd = cast(id as char);WHILE sTempChd is not NULL DOSET sTemp = CONCAT(sTemp,',',sTempChd);SELECT group_concat(DictId) INTO sTempChd FROM pd_dict where FIND_IN_SET(parentId,sTempChd)>0;END WHILE;return sTemp;END;#queryselect * from pd_dict where FIND_IN_SET(DictID, Fun_RecursionDict(3));



查询结果: