Sql server 2008 如何在SQLServer2008中从分层表中获取节点标签的路径

Sql server 2008 如何在SQLServer2008中从分层表中获取节点标签的路径,sql-server-2008,hierarchical-data,Sql Server 2008,Hierarchical Data,我正在使用SQLServer2008中引入的类型将分层文件夹信息存储在SQLServer2008R2表中 我有一个表,它具有最基本的树结构: 文件夹[IdPath,FolderId,Label] IdPath为hierarchyid类型,FolderId为int,Label为nvarchar(255) 以下查询: SELECT IdPath.ToString() AS LogicalPath,* FROM Folders 给出以下结果: |LogicalPath|IdPath|FolderId

我正在使用SQLServer2008中引入的类型将分层文件夹信息存储在SQLServer2008R2表中

我有一个表,它具有最基本的树结构: 文件夹[IdPath,FolderId,Label]

IdPath为hierarchyid类型,FolderId为int,Label为nvarchar(255)

以下查询:

SELECT IdPath.ToString() AS LogicalPath,*
FROM Folders
给出以下结果:

|LogicalPath|IdPath|FolderId|Label       |
+-----------+------+---------------------+
|/          |0x    |NULL    |Root        |
+-----------+------+---------------------+
|/1/        |0x58  |1       |Folder1     |
+-----------+------+---------------------+
|/1/1/      |0x5AC0|2       |Folder1.1   |
+-----------+------+---------------------+
|etc...                                  |
+-----------+------+---------------------+
我想获取给定id的文件夹的完整路径。但id'k不需要id的路径,而是希望获取与这些id关联的节点标签的路径

例如,假设我想要得到FolderId=2的结果,它将如下所示:

    '/Root/Folder1/Folder1.1'
在SQLServer2008中,您将如何做到这一点

是否有任何内置函数可以从IdPath推断此类输出