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

sql代码 

select getParentIdList(3402)

视图

 获取上级父集id函数代码 

CREATE DEFINER=`skip-grants user`@`skip-grants host` FUNCTION `getParentIdList`(rootId INT) RETURNS varchar(1000) CHARSET utf8mb4
    DETERMINISTIC
BEGIN   
DECLARE fid INT default 0;   
DECLARE str varchar(1000) default rootId;   

WHILE rootId is not null  do   
    SET fid =(SELECT pid FROM t_space WHERE id = rootId);   
    IF fid is not null THEN   
        SET str = concat(str, ',', CAST(fid AS CHAR));   
        SET rootId = fid;   
    ELSE   
        SET rootId = fid;   
    END IF;   
END WHILE;   
return str;  
END

猜你喜欢

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