1. 程式人生 > 其它 >Mysql 查詢自身及所有層級子節點

Mysql 查詢自身及所有層級子節點

技術標籤:Mysqlmysqlsql資料庫

Mysql 查詢自身及所有層級子節點

1.需要寫一個遞迴的函式。
2.呼叫函式查詢結果。

函式程式碼:

drop function if exists getAllChild;
create function getAllChild(id int) 
returns varchar(20000) 
BEGIN   
DECLARE str varchar(10000);  
DECLARE cid varchar(10000); 
DECLARE result varchar(20000); 

set result = '';
SET str = '';   
SET cid = id;

WHILE cid is not null DO 
		SET result = concat(result,',',cid);
		set str = cid;
		select group_concat(menu_id) into cid from sys_menu where find_in_set(parent_id,str)>0;  	
END WHILE;   
RETURN result;   
END

查詢結果:
在這裡插入圖片描述