Mysql 查询自身及所有层级子节点
1.需要写一个递归的函数。
2.调用函数查询结果。
函数代码:
drop function if exists getAllChild;
create function getAllChild(id int)
returns varchar(20000)
BEGIN
DECLARE str varchar(10000);
DECLARE cid varchar(10000);
DECLARE result varchar(20000);
set result = '';
SET str = '';
SET cid = id;
WHILE cid is not null DO
SET result = concat(result,',',cid);
set str = cid;
select group_concat(menu_id) into cid from sys_menu where find_in_set(parent_id,str)>0;
END WHILE;
RETURN result;
END
查询结果: