1. 程式人生 > >sqlserver中一個表中樹形結構遞迴資料查詢

sqlserver中一個表中樹形結構遞迴資料查詢

需求:一個數據表是樹形結構,即id,pid,每條記錄會有自己的父級記錄。現在要一下把指定記錄以及該記錄為父級時,所有下級層級記錄查詢出來。

解決:這裡面用到了sqlserver的with as語句以及union all合併

WITH    Emp     
          AS ( SELECT * FROM  dbo.Users WHERE    ID = '111'  
               UNION ALL   
               SELECT   d.*  FROM Emp INNER JOIN dbo.Users d ON d.pid= Emp.ID     
             )     SELECT *   FROM    Emp