【发布时间】:2018-01-29 12:05:47
【问题描述】:
我有一个代表类别层次结构的表,层次结构顶部的元素的父 ID 为 0。 CatID 列中有超过 54K 的唯一 ID。每个 ID 都可以是另一个 ID。类别深入 8 个级别。 表格如下:
CatID ParentID CatName
1 0 Home
. . .
. . .
20 1 Vehicles
. . .
35 20 SUV
36 20 Motorbikes
. . .
90 35 BMW
91 35 Toyota
. . .
234 91 Land Cruiser
这是我想要达到的结果:
Cat0 Cat1 Cat2 Cat3 Cat4 Cat5 Cat6 Cat7
Home Vehicles SUV Toyota LandCruiser
Home Vehicles SUV BMW
Home Vehilces Motorbikes
. . .
我该怎么做?我是否需要某种循环来遍历所有 ID?
之前有人问过similar question,所以我使用相同的表结构来解释我的观点,但答案并不完全是我想要的。
有人可以帮忙吗?
【问题讨论】:
-
类别层次结构总是 8 级或更深?即没有 Cat8,或者您不希望成员比检索到的更深?
-
嗨@MislavZic!是的,层次结构总是 8 级深。
-
我相信 John 的答案正是您想要的。
标签: sql sql-server tree categories hierarchy