表:
先给表船舰函数:
1 CREATE FUNCTION `getParentList`(rootId varchar(100)) 2 RETURNS varchar(1000) 3 BEGIN 4 DECLARE fid varchar(100) default ''; 5 DECLARE str varchar(1000) default rootId; 6 7 WHILE rootId is not null do 8 SET fid =(SELECT PID FROM DIGUI WHERE ID = rootId); 9 IF fid is not null THEN 10 SET str = concat(str, ',', fid); 11 SET rootId = fid; 12 ELSE 13 SET rootId = fid; 14 END IF; 15 END WHILE; 16 return str; 17 END
然后可以查询父级了:
1 SELECT 2 * 3 FROM 4 digui 5 WHERE 6 FIND_IN_SET(id, getParentList('9'))