加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何在sql中排序链表?

发布时间:2020-12-12 16:31:23 所属栏目:MsSql教程 来源:网络整理
导读:我已经实现了一个链表作为自引用数据库表: CREATE TABLE LinkedList( Id bigint NOT NULL,ParentId bigint NULL,SomeData nvarchar(50) NOT NULL) 其中Id是主键,ParentId是列表中上一个节点的Id.第一个节点有ParentId = NULL. 我现在想从表中选择SELECT,按照
我已经实现了一个链表作为自引用数据库表:
CREATE TABLE LinkedList(
    Id bigint NOT NULL,ParentId bigint NULL,SomeData nvarchar(50) NOT NULL)

其中Id是主键,ParentId是列表中上一个节点的Id.第一个节点有ParentId = NULL.

我现在想从表中选择SELECT,按照它们应该出现的顺序排列行作为列表中的节点.

例如:如果表包含行

Id      ParentId  SomeData
24971   NULL      0
38324   24971     1
60088   60089     3
60089   38324     2
61039   61497     5
61497   60088     4
109397  109831    7
109831  61039     6

然后使用条件排序,应该导致:

Id      ParentId  SomeData
24971   NULL      0
38324   24971     1
60089   38324     2
60088   60089     3
61497   60088     4
61039   61497     5
109831  61039     6
109397  109831    7

你应该使用SomeData colum作为控件,所以请不要通过SomeData作弊ORDER

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读