我有下面的表格。如何在沒有遞歸的情況下選擇父子'第'記錄?
id | name | parent_id
----+--------------+-----------
1 | Cat |
2 | Fun | 1
3 | LOLCs | 2
4 | Anid | 2
5 | Cla | 1
6 | Rena | 5
.................................
Up to 'N' th Level
我想選擇父子nth
記錄,而不在SQL遞歸。
有人可以提供一些關於如何做到這一點的指導嗎?
爲什麼不遞歸?那麼你是否考慮使用'for循環'? –
如果你的數據庫管理系統不支持遞歸查詢或循環,並且級數很少,那麼經典的解決方案就是在每個級別上增加另一個「leftlevel.id = prevlevel.parent_id」的左連接。 – dnoeth
如果可以像這種類型的方式................ SELECT L0。* FROM test L0 JOIN測試L1 ON L0.Parent_Id = L1.Id JOIN測試L2 ON L1 .ID = L2.Parent_Id WHERE L1.id = '1' UNION所有 SELECT L1 * FROM測試L0 JOIN測試L1 ON L0.Id = L1.Parent_Id JOIN測試L2 ON L1.MnuId = L2 .ParentId JOIN測試L3 ON L2.Parent_Id = L3.Id WHERE L1.Parent_Id = 1' – user6479492