栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检索所有子代及其子代,递归SQL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检索所有子代及其子代,递归SQL

在SQL中,您可以使用CTE进行查询。例如,要检索在其树中具有其父级和最高父级的节点的列表:

declare @t table (id int, parent int)insert @t (id, parent) values (1, null), (2,1), (3,2), (4,3), (5,null), (6,5); with cte as (    select  id, parent, id as head    from    @t    where   parent is null    union all    select  child.id, child.parent, parent.head    from    @t child    join    cte parent    on      parent.id = child.parent)select  *from    cte

这给出了:

id  parent  head1   NULL    12   1       13   2       14   3       15   NULL    56   5       5

请注意,我更改了示例数据,因此第2行不再是其自身的子级,而是第1行的子级。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404696.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号