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