MYSQL 父子建表查询所有的子数据-利用自定义函数查询

select getChildrenIdList(1)

 获取子集函数代码

CREATE DEFINER=`skip-grants user`@`skip-grants host` FUNCTION `getChildrenIdList`(rootId INT) RETURNS varchar(1000) CHARSET utf8mb4
    DETERMINISTIC
BEGIN
   DECLARE sTemp VARCHAR(1000) default rootId;
   DECLARE sTempChd VARCHAR(1000);   
  
   SET sTempChd =cast(rootId as CHAR);

   WHILE sTempChd is not null do
	 if sTemp<>sTempChd then 
	  		 SET sTemp = concat(sTemp,',',sTempChd);
	 END IF;
     SELECT group_concat(id) INTO sTempChd FROM unify_space_database.t_space where FIND_IN_SET(pid,sTempChd);
    END WHILE;
    RETURN sTemp;
   END

猜你喜欢

转载自blog.csdn.net/weixin_40986713/article/details/107632028