BEGIN
	DECLARE sTemp text;
    DECLARE sTempChd text;
    SET sTemp = ‘$‘;
    SET sTempChd =cast(rootId as CHAR);
    WHILE sTempChd is not null DO
    	SET sTemp = concat(sTemp,‘,‘,sTempChd);
        SELECT group_concat(deptId) INTO sTempChd FROM  ch_class where FIND_IN_SET(deptParId,sTempChd)>0;
   	END WHILE;
    RETURN sTemp; 
END
select * from ch_class where FIND_IN_SET(deptId,getParLst((SELECT MIN(id) from ch_class where kdgId = 机构ID))) GROUP BY deptParId;
原文:http://www.cnblogs.com/Bengi/p/7342721.html