2012-10-29 26 views
1

我試圖讓管理員id的員工層次結構。我可以爲已知級別做到這一點。但我希望整個關卡在這個層次結構中相關聯。我的桌子是這樣的。如何獲得員工的層次結構

 
    Super_id EmployeeId 

    10  30 
    10  28 
    10  16 
    16  34 
    16  45 
    45  67 
    45  36 
    24  69 
    24  76 

我會把10作爲參數:輸出應該是30,28,16,34,45,67,36

我不期待一個單一的查詢。我可以使用存儲過程/函數太。

+0

這裏應該輸出什麼? – AnandPhadke

+0

我會通過10作爲參數:輸出應該是30,28,16,34,45,67,36 – user1259132

回答

0

這隻能通過在數據庫上使用stod過程或通過多次查詢您的應用程序來實現。我有一個固定數量的層次結構級別,可以執行許多自連接,但不可能僅從父指針使用SQL來獲得完整樹。

然而存在兩種實現這一點的常用技術。一個被稱爲Nested Set model並使用由左邊界和右邊界定義的每個級別的集合表示。第二個變體是物化路徑。通過這個變體,你可以指定每個元素的完整路徑(然後你必須更新其中一個父代的每個變化)

每個技術有其獨特的優點和缺點。現在由您決定哪一個可以用於您的特定區域。