SqlServer中递归查询父节点及其所属子节点

  • 需求场景
    • SQL脚本实现-根据子节点查询所有的父节点
    • 查询结果
    • SQL脚本实现-根据父节点查询所有的子节点
    • 查询结果

需求场景

递归查询父节点及其所属子节点

SQL脚本实现-根据子节点查询所有的父节点

 -- 查找所有父节点
with tab as
(select pc.id,pc.ParentId,pcd.Name,1 as [level] from ProductCategories pc join ProductCategoryDescriptions pcd on pcd.ProductCategoryId=pc.Id and pcd.LanguageId='en' --where id=1--子节点union allselect a.id--当前节点Id,b.ParentId,--父节点Idc.Name --父节点名称,关联可以修改为【a.Id=c.ProductCategoryId】就表示当前节点名称,a.[level]+1--层级fromtab a,--子节点数据集ProductCategories b , --父节点数据集ProductCategoryDescriptions c  --父节点数据集where a.ParentId=b.Id and b.Id=c.ProductCategoryId and c.LanguageId='en' --子节点数据集.parendID=父节点数据集.ID
)
select * from tab where id=149;

查询结果


这里的Level是倒序的,也就是当前数据为第一层,level的大小由father、ancestors一次递增,max(level)表示祖先

SQL脚本实现-根据父节点查询所有的子节点

 -- 根据父节点查找所有子节点
with a as (
select id, parentid from ProductCategories where id=124
union all
select x.id, x.parentid from ProductCategories x,a where x.parentid=a.id
)
select * from a

查询结果


这里的Level是倒序的,也就是当前数据为第一层,level的大小由father、ancestors一次递增,max(level)表示祖先

SqlServer中递归查询父节点及其所属子节点相关推荐

  1. zTree中父节点禁用,子节点可以用

    参考学习网址:http://www.treejs.cn/v3/main.php#_zTreeInfo zTree中父节点禁用,子节点可以用 axios.get('/base/unit/unittree ...

  2. tree父节点不被选中和勾选(所以父节点)只选择子节点

    tree父节点不被选中和勾选(所以父节点)只选择子节点 t = $.fn.zTree.init(t, setting, result); var zTree = $.fn.zTree.getZTree ...

  3. JavaScript-DOM-获取节点父、兄、子节点or元素

    JavaScript-DOM-获取节点父.兄.子节点or元素   首先先来解释一下节点与元素的区别,不然真的会看的很懵啊!什么是节点?DOM规定:整个文档是一个文档节点,每个标签就是一个元素节点,也就 ...

  4. jstree禁用父节点点击_Jstree选中父节点时禁用子节点也被选中

    这次给大家带来Jstree选中父节点时禁用子节点也被选中,解决Jstree选中父节点时禁用子节点也被选中的注意事项有哪些,下面就是实战案例,一起来看一下. 问题描述: 最近用jstree遇到一个问题, ...

  5. js获取树形JSON数据根节点到任一子节点路径

    js获取树形JSON数据根节点到任一子节点路径 数据结构,deep表示节点深度 现在定义一个方法传入一个子节点对象,返回其对应路径. 首先遍历数据将遍历顺序放在一个数组中![首先递归遍历数据将遍历顺序 ...

  6. 【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性、子节点 | 将封装的节点数据转为 Xml 字符串 )

    文章目录 一.构造 Xml 节点类 1.封装节点名称.节点值.节点属性.子节点 2.将封装的节点数据转为 Xml 字符串 二.Xml 节点类完整代码 一.构造 Xml 节点类 生成 Xml 数据前 , ...

  7. 常用递归结构数据表,返会指点节点,跟其子节点的操作

    内容来自机械工业出版的仓库管理系统设计一书 表结构{WareHouserID , ParentWarehouseID } 查询指定节点跟其子节点的信息 ALTER  FUNCTION dbo.GetW ...

  8. JS监听页面元素删除子节点、增加子节点、修改子节点的内容

    监听这个事件DOMSubtreeModified. 表示如果当前监听元素的子节点有改动:包括删除子节点.增加子节点.修改子节点的内容,都会触发这个事件. var container = documen ...

  9. mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现

    简介:mysql5.0.94版本,该版本以及较高级的版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的 ...

最新文章

  1. matlab 双边沿滤波,图片漫画效果(DoG算子和双边滤波)
  2. docker 容器安装conposer_Docker下用composer国内镜像安装Laravel
  3. 软件工程——团队作业3
  4. Django模板语言
  5. OAuth2.0详解
  6. matlab dll没有头文件,matlab调用dll没有头文件怎么办
  7. 从Nest到Nesk -- 模块化Node框架的实践
  8. 【诗和远方】一个蒟蒻的年初展望
  9. 从程序员到CTO也可以走捷径
  10. 基于网络电子海图的海洋气象信息服务系统
  11. JAVA以及常用开源框架读音发音和介绍
  12. 100以内奇数的平方和
  13. PHP 第三方调用 UC_Center用户登录认证
  14. 传统推荐模型——协同过滤
  15. 极路由 刷linux,极路由极壹HC6361刷OpenWrt固件教程
  16. CAN总线CSV格式报文转ASC格式报文
  17. 详解比较好的音视频通话SDK开发包的技术要点
  18. pg高可用之repmgr(一)
  19. 如何激发员工的积极主动性
  20. 物联网基础知识介绍及常见的几种无线通讯方式和应用

热门文章

  1. 在anaconda中创建虚拟环境
  2. 构建关系抽取的动词源
  3. 计算机 小学数学应用题教学设计,小学数学如何有效地进行应用题教学设计
  4. 词霸天下---142词根 【-scape- 形状 】
  5. HTML特殊符号的输入
  6. ReDim, split
  7. 【weex】h5weex-example
  8. 道德经-二十章-独异于人解
  9. Workflow 几个基本的概念
  10. 阿拉德之怒pk正在连接服务器,2019阿拉德之怒一线职业 阿拉德之怒PK职业排名数据一览...