这个 主题
带给我。感谢@RolandoMySQLDBA
DELIMITER $$DROp FUNCTION IF EXISTS `GetAncestry` $$CREATE FUNCTION `GetAncestry` (GivenID INT) RETURNS VARCHAr(1024)DETERMINISTICBEGIN DECLARE rv VARCHAr(1024); DECLARE cm CHAr(1); DECLARE ch INT; SET rv = ''; SET cm = ''; SET ch = GivenID; WHILE ch > 0 DO SELECT IFNULL(`prent`,-1) INTO ch FROM (SELECt `prent` FROM Table1 WHERe id = ch) A; IF ch > 0 THEN SET rv = CONCAt(rv,cm,ch); SET cm = ','; END IF; END WHILE; RETURN rv;END $$DELIMITER ;
在这里工作的 小提琴 。
SELECt id,GetAncestry(id) as parents from Table1 where id = 7;ID PARENTS7 6,3,2,1



