樹形結構表查詢,只用一條SQL語句查詢所有父級ID解決辦法


在樹形結構表查詢中用得最多的就是查詢指定分類的所有下級分類,這個性能比較好的解決方案是為分類加一個編碼(路徑)把父級的ID都拼接上,最后通過like 'x%'就能把所有下級分類select出來。但是有時也會遇到反過來,找出指定分類的所有上級分類,這個情況尤其在分銷或類傳銷的系統中最常見,因為他們分成都是上級分成,所以要找出指定人的上級集合。

下面分享一下我的解決方案(只用一條SQL語句。不用存儲過程、函數):

有下面所在的新聞分類表。

ParentID為父級的ID。

下面要找出ID為52的所有上級分類,代碼如下:

;with Tree as
(
select * from CMS_NewsCategory where CID=52
union all
select a.* from CMS_NewsCategory a join Tree b on a.CID=b.ParentID
)
select * from Tree


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM