56,678
社区成员
发帖
与我相关
我的任务
分享
SELECT * FROM digui WHERE FIND_IN_SET(id,diguihanshu(1));
DROP FUNCTION IF EXISTS diguihanshu;
CREATE FUNCTION diguihanshu(areaId INT)
RETURNS VARCHAR(4000)
BEGIN
DECLARE sid VARCHAR(4000);
DECLARE sidChd VARCHAR(4000);
SET sid='$';
SET sidChd = CAST(areaId AS CHAR);
WHILE sidChd IS NOT NULL DO
SET sid= CONCAT(sid,',',sidChd);
SELECT GROUP_CONCAT(id) INTO sidChd FROM digui WHERE FIND_IN_SET(pid,sidChd)>0;
END WHILE;
RETURN sid;
END;
SELECT * FROM digui WHERE FIND_IN_SET(id,diguihanshu(6));