MySQL根据父级ID获取所有子ID和根据子ID获取所有父ID


获取父IDs:

BEGIN
       DECLARE sTemp VARCHAR(1000);
       DECLARE sTempPar VARCHAR(1000);

       SET sTemp = '';
       SET sTempPar =childId;

       WHILE sTempPar is not null DO
         SET sTemp = concat(sTemp,',',sTempPar);
         SELECT group_concat(parentid) INTO sTempPar FROM t_runner_menu where parentid<>id and FIND_IN_SET(id,sTempPar)>0;
       END WHILE;
       RETURN sTemp;
END


参数:childId varchar(50)
回传类型:varchar(1000) CHARSET gbk

获取子IDs:

BEGIN
          DECLARE sTemp VARCHAR(1000);
          DECLARE sTempChd VARCHAR(1000);

          SET sTemp = '$';
         SET sTempChd =cast(rootId as CHAR);

         WHILE sTempChd is not null DO
            SET sTemp = concat(sTemp,',',sTempChd);
             SELECT group_concat(id) INTO sTempChd FROM  t_organization where FIND_IN_SET(parent_id,sTempChd)>0;
       END WHILE;
       RETURN sTemp;
END

参数:rootId INT
回传类型:varchar(1000) CHARSET gbk


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM