【问题标题】:Concat values from parents and childs to sort items连接父母和孩子的值以对项目进行排序
【发布时间】:2014-10-04 19:22:24
【问题描述】:

我有一个指向自身的表:

ID, varchar
PARENTID, varchar

对于顶级项目,PARENTID 是一个空字符串。 对于所有孩子,PARENTID 指向一个 ID。

还有一个带有一些排序选项的表格:

ITEMID, varchar
SORT, varchar

ITEMID 对应另一个表中的 ID。 SORT 是某种排序值,范围从 '0001' 到 '9999'。

我需要根据这些标准进行一些排序:

  • 父级应始终将其子级直接放在其下方
  • 同一级别的项目应仅根据其各自的 SORT 进行排序

所以我的想法是将孩子的 SORT 值一直连接到其父级,如下所示: CHILDSORT = GRANDPARENTSORT_PARENTSORT_SORT

从一个孩子开始,我如何在连接他们的类别时一直冒泡到它的祖先(没有父母的那个)?

【问题讨论】:

  • 你使用什么数据库?
  • 请提供初始脚本和所需输出

标签: sql sql-server recursion


【解决方案1】:

使用Recursive CTE 获取派生表,并为您可能想要排序的任何内容包含列,以便您可以在外部查询中对这些列进行排序。

【讨论】:

    猜你喜欢
    • 2017-06-26
    • 2020-09-30
    • 2018-03-22
    • 1970-01-01
    • 2021-10-17
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多