Sql 层次结构 ID 按级别排序

Mik*_*sky 5 sql hierarchy hierarchyid sql-server-2008

是否可以按层次结构 id 对层次结构中的 sql 数据进行排序,然后对每个级别按字母顺序排序?

假设我们有一个员工表,其中根据员工 ID 列出了组织层次结构

鲍勃 (5) 有菲尔 (17) 和查理 (28) 向他汇报,乔西 (6) 有泰勒 (15) 和迈克 (56) 向她汇报。

如果按 HierarchyID 排序,它将如下所示:

鲍勃 (/5/)
--菲尔 (/5/17/)
--查理 (/5/28/)
乔西 (/6/)
--泰勒 (/6/15/)
--迈克 (/6/56) /)

但让它看起来像这样可能更有意义

鲍勃
--
查理--菲尔·
乔西
--迈克
--泰勒

这是否可能而又不会变得太复杂?

Ben*_*ein 0

除非我误解了什么,否则您可以在子句中添加辅助排序字段ORDER BY。例如:

SELECT * FROM Employees ORDER BY HierarchyID, Name
Run Code Online (Sandbox Code Playgroud)

  • 第二个顺序是决胜局不是吗?如果有任何联系,那么它会按字母顺序对它们进行排序。所有这些条目都将具有唯一的 HiearchyID,因此第二种排序不会影响我认为不影响的任何内容。 (3认同)