如圖:
表數據
這樣的一棵樹,如何獲取“高寅瑞”下的所有節點(一條sql語句是肯定搞不定的)
通過存儲過程來寫
DELIMITER // CREATE FUNCTION `getChildLst`(rootId INT) RETURNS varchar(1000) READS SQL DATA BEGIN DECLARE sTemp VARCHAR(1000); DECLARE sTempChd VARCHAR(1000); SET sTemp = '$'; SET sTempChd =cast(rootId as CHAR); WHILE sTempChd is not null DO SET sTemp = concat(sTemp,',',sTempChd); SELECT group_concat(id) INTO sTempChd FROM document_file_name where FIND_IN_SET(pId,sTempChd)>0; END WHILE; RETURN sTemp; END //
創建如上存儲過程
select * from document_file_name where find_in_set(id, getChildLst(1));
[kyec555 ] mysql 使用存儲過程實現樹節點的獲取方法已經有249次圍觀