在我们的一个数据库中,我们使用了一个HierarchyId列。然后我们从表中选择行,如下所示:
SELECT HierarchyId.ToString()
FROM Tree
ORDER BY HierarchyId DESC这在一个很好的层次结构中进行了布局,但所有节点的顺序都相反,如下所示:
1/13/
1/12/123/
1/12/122/
1/12/121/
1/12/
1/11/
1/但是,我们希望节点保持这种顺序,但父节点在子节点之上,如下所示:
1/
1/13/
1/12/
1/12/123/
1/12/122/
1/12/121/
1/11/我能想到的唯一解决方案是使用递归CTE,这将否定使用HierarchyId的许多好处。有谁有办法做到这一点吗?
谢谢,
乔
发布于 2015-04-01 02:55:00
你可以试试这个,希望它能行得通。
SELECT HierarchyId.ToString()
FROM Tree
ORDER BY cast(HierarchyId as nvarchar(100)) DESChttps://stackoverflow.com/questions/29305673
复制相似问题