mysql通过指定Id查询所有子节点id

//mysql自定义函数,新建查询修改表名和相关字段后直接运行创建函数

DROP FUNCTION IF EXISTS queryChildrenAreaInfo;   

CREATE FUNCTION `queryChildrenAreaInfo` (areaId INT)
RETURNS VARCHAR (4000)
BEGIN
DECLARE sTemp VARCHAR (4000);
DECLARE sTempChd VARCHAR (4000);
SET sTemp ='$';
SET sTempChd = cast(areaId AS CHAR);
WHILE sTempChd IS NOT NULL DO
SET sTemp = CONCAT(sTemp, ',', sTempChd);
SELECT group_concat(id) INTO sTempChd FROM   表名 WHERE FIND_IN_SET( pid, sTempChd) > 0;//指定查询
END WHILE;
RETURN sTemp;

END;

调用的时候:select * from 表名 t where FIND_IN_SET(id,queryChildrenAreaInfo(要查询的id));


猜你喜欢

转载自blog.csdn.net/qq_39522120/article/details/80003122
今日推荐