1
我需要獲取父級的所有子節點嗎?MySQL樹層次結構查詢?
我的表說如下
id
parent_id
,說數據是
id parent_id
1 -1
2 1
3 -1
4 2
5 4
我想查詢將返回所有子爲給定ID
例如,如果我通過1將返回2,4,5 5
我需要獲取父級的所有子節點嗎?MySQL樹層次結構查詢?
我的表說如下
id
parent_id
,說數據是
id parent_id
1 -1
2 1
3 -1
4 2
5 4
我想查詢將返回所有子爲給定ID
例如,如果我通過1將返回2,4,5 5
SET @input = 1;
SELECT GROUP_CONCAT(lvl SEPARATOR ',') children FROM (
SELECT @q := (SELECT GROUP_CONCAT(id SEPARATOR ',') FROM tbl
WHERE parent_id IN (@q)) AS lvl FROM tbl
JOIN
(SELECT @q := @input) tbl
WHERE parent_id IN (@q)) t;
這裏是SQL Fiddle查詢。
它是多層次還是隻有一個層次? parent-> chield或者great-parent - > parent - > child? –
其多級 – Ninad
你不能用一個單一的查詢(而不是在mysql中)。你將需要一個功能。在這裏看到:http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/ –