本文實例講述了sql server實現遞歸查詢的方法示例。分享給大家供大家參考,具體如下:
有時候面對樹結構的數據時需要進行遞歸查詢,網上找了一番,參考了各位大神的文章,發現蠻簡單的,當做個小筆記方便以后使用
sql server 通過CTE來支持遞歸查詢,這對查詢樹形或層次結構的數據很有用
一般的樹形表結構如下,相信大家都很熟悉的
id | title | pid |
---|---|---|
1 | 1級節點 | 0 |
2 | 2級節點 | 1 |
3 | 3級節點 | 2 |
4 | 4級節點 | 3 |
5 | 5級節點 | 4 |
下面上代碼
----------sql server 遞歸查詢------------查找上級所有節點with uCte as( select a.id,a.title,a.pid from tree_table a where id = 3--當前節點 union all select k.id,k.title,k.pid from tree_table k inner join uCte c on c.pid = k.id)select * from uCte;--查找上級所有節點with dCte as( select a.id,a.title,a.pid from tree_table a where id = 3--當前節點 union all select k.id,k.title,k.pid from tree_table k inner join dCte c on c.id = k.pid)select * from dCte;
希望本文所述對大家SQL Server數據庫程序設計有所幫助。
新聞熱點
疑難解答