【发布时间】:2011-03-30 09:04:17
【问题描述】:
我有一张桌子categories:
ID | NAME | PARENT ID | POSITION | LEVEL | ORDER
----------------------------------------------------------------------------
1 | root | -1 | 0x | 0 | 255
2 | cars | 1 | 0x58 | 1 | 10
5 | trucks | 1 | 0x68 | 1 | 10
13 | city cars | 2 | 0x5AC0 | 2 | 255
14 | offroad cars | 2 | 0x5B40 | 2 | 255
地点:
ID int ident
NAME nvarchar(255)
PARENT ID int
POSITION hierarchyid
LEVEL hierarchyid GetLevel()
ORDER tinyint
此表model 指定其所属的型号名称和类别。示例:
ID | NAME | CATEGORY
-----------------------------
1 | Civic | 13
2 | Pajero | 14
3 | 815 | 5
4 | Avensis | 13
地点:
ID int ident
NAME nvarchar(255)
CATEGORY int link to ID category table
我想做的是能够展示:
- 所有模型 - 将从根递归显示所有模型,
-
cars类别中的车型(包括汽车) - 城市汽车的模型(或其子系统,如果有的话)
如何使用 hierarchyid 进行此类过滤以及如何将结果与模型连接到表格中?这是如何从某个级别显示所有模型结果的快速方法吗?
【问题讨论】:
标签: tsql recursion hierarchyid