我有以下分層表:什麼是最簡單或最簡單的方法將這個heirarchical表格變成一張平坦的表格?
Table Category:
CategoryId, ParentCategoryId, CategoryName
1, null, SomeRoot
2, 1, SomeChild
3, 2, SomeGrandchild
4, 3, SomeGreatGrandchild
(注意,這樣的數據不包括除第4級的較早節點上的葉,但這是可能的)。如果相關的話,數據永遠不會比第4級更深。我想變換/它旋轉到這個固定的4級顯示
CatId, Name1, Name2, Name3, Name4
1, SomeRoot, null, null, null
2, SomeRoot, SomeChild, null, null
3, SomeRoot, SomeChild, SomeGrandchild, null
4, SomeRoot, SomeChild, SomeGrandchild, SomeGreatGrandchild
我已經做了左外連接的類別表4倍,並建立了一個巨大的case語句用於檢測水平,使用的ID字段,但不包括空行....任何想法?幫幫我!
您需要告訴我們數據是否始終有
jcollum
2009-09-04 20:10:46
@jcollum更新問:如果相關,數據將永遠不會比第4級更深。 – TheSoftwareJedi 2009-09-04 20:13:24
如果它具有未知級別的遞歸,則要使用CTE。對於已知和小的遞歸級別,我聽說CTE有太多的開銷,所以子查詢更好。 – jcollum 2009-09-04 20:32:11