-2
A
回答
0
您是否嘗試過使用遞歸CTE? 例如: 假設你有表TBL(EMPID,名稱,MngrId),它具有自引用關係
create table tbl
(
EmpId int not null,
Name nvarchar(100),
MngrId int null)
insert into tbl(EmpId, Name, MngrId)
values (1,'Adel',Null),
(2,'Ali',1),
(3,'Shaban',1),
(4,'Mark',3),
(5,'John',3),
(6,'Tony',Null),
(7,'Peter',6)
您可以創建這樣一些觀點:
create view Employees
Begin
with cte
as
(
Select EmpId,Name, Null as MngrId, cast(null as nvarchar(100)) as MngrName, 1 as EmpLevel
from tbl
where MngrId is Null
Union All
Select t.EmpId, t.Name, c.EmpId as MngrId, c.Name as MngrName, c.EmpLevel + 1 as EmpLevel
from tbl t
inner join cte c
on t.MngrId = c.EmpId
)
Select *
from cte
order by EmpLevel, EmpId
End
您現在可以使用EmpLevel
跳轉到不同的級別MngrName
得到關於父節點的信息
相關問題
- 1. 沒有爲此實體層次結構定義的ID
- 2. 父類和子類的層次結構
- 3. 本書的上下文層次結構
- 4. mondrian中的多層次結構說沒有找到層次結構
- 5. CSS層次結構類和ID
- 6. 要上線和下線的數據進行特定的ID
- 7. &&和||的層次結構
- 8. Android的層次和結構
- 9. 確定剃刀網頁層次結構
- 10. 如何檢查Swift/Xcode中的線程/隊列層次結構?
- 11. 如何在沒有層次結構的情況下遵循xpath?
- 12. 當id和父母id在同一個表中時,我可以選擇父母的完整層次結構嗎?
- 13. 您有以下類層次結構
- 14. Python包中__init__.py層次結構的正確結構
- 15. 圖中的層次結構
- 16. MVC3中的層次結構
- 17. CheckBoxList中的層次結構
- 18. 從父子層次結構表中獲取頂級父ID身份證
- 19. 實現父子類層次結構
- 20. MVC3層次結構並傳遞父值
- 21. 查詢訂購父/子-層次結構
- 22. 多線程基於時間的調用層次結構
- 23. Automapper和類層次結構
- 24. Backbone.js和層次結構/樹
- 25. 具有Web應用程序上下文的Spring上下文層次結構
- 26. 層次結構
- 27. Excel/VBA - 檢查層次結構ID
- 28. 自下而上計算層次結構中的聚合值
- 29. 帶有共享成員的Oracle層次結構(雙父成員)
- 30. 層次JSON與父ID
如果你想得到任何有用的答案,你的問題就非常模糊了,需要更多的細節。至少應該提供表格模式和一些樣品數據,以及您的預期結果應該基於樣品數據。 – 2014-09-24 13:25:08