在同一張表中, 本記錄.pid = 父.id , 父記錄.pid = 父父.id 三級 直到pid = 0
想問一下,如果表中有一個欄位, 我如何獲取所有的父節點和, 求和
uj5u.com熱心網友回復:
寫個遞回函式,到pid=0截止,手動輸入pid,輸出所有父節點uj5u.com熱心網友回復:
資料表的結構:id name parent_id
---------------------------
Home 0
About 1
Contact 1
Legal 2
Privacy 4
Products 1
Support 1
SELECT T2.id, T2.name
FROM (
SELECT
@r AS _id,
(SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id
FROM
(SELECT @r := 5, @l := 0) vars, --查詢id為5的所有上級
table1 h
WHERE @r <> 0) T1
JOIN table1 T2
ON T1._id = T2.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41924.html
標籤:MySQL
上一篇:勸大家還是早點放棄pb吧
