首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按HierarchyId排序,但父级优先

按HierarchyId排序,但父级优先
EN

Stack Overflow用户
提问于 2015-03-28 00:33:44
回答 1查看 390关注 0票数 2

在我们的一个数据库中,我们使用了一个HierarchyId列。然后我们从表中选择行,如下所示:

代码语言:javascript
复制
SELECT HierarchyId.ToString()
FROM   Tree
ORDER BY HierarchyId DESC

这在一个很好的层次结构中进行了布局,但所有节点的顺序都相反,如下所示:

代码语言:javascript
复制
1/13/
1/12/123/
1/12/122/
1/12/121/
1/12/
1/11/
1/

但是,我们希望节点保持这种顺序,但父节点在子节点之上,如下所示:

代码语言:javascript
复制
1/
1/13/
1/12/
1/12/123/
1/12/122/
1/12/121/
1/11/

我能想到的唯一解决方案是使用递归CTE,这将否定使用HierarchyId的许多好处。有谁有办法做到这一点吗?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2015-04-01 02:55:00

你可以试试这个,希望它能行得通。

代码语言:javascript
复制
SELECT HierarchyId.ToString()
FROM   Tree
ORDER BY cast(HierarchyId as nvarchar(100)) DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29305673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档