数据结构 public class TreeNode { [Key] public long Id { get; set; } public string NodeName { get; set; } public long? ParentId { get; set; } public virtual TreeNode Parent { get; set; } public virtual ICollection<TreeNode> Children { get; set; } } 配置 //
-- Get childs by parent id WITH Tree AS ( SELECT Id,ParentId FROM dbo.Node P WHERE P.Id = -- parent id UNION ALL SELECT C.Id,C.ParentId FROM dbo.Node C INNER JOIN Tree T ON C.ParentId = T.Id ) SELECT * FROM Tree -- Get parents by child id WITH Tree A
CREATE PROCEDURE [dbo].[GetTree] @Id int AS BEGIN with cte as ( as lvl from Entity where Id = @Id union all from cte c inner join Entity e on c.Id = e.Pid ) select * from cte END
这个也有用: -- Get childs by parent idWITH TreeAS( SELECT Id,ParentId FROM dbo.Node P WHERE P.Id = 21 -- parent id UNION ALL SELECT C.Id,C.ParentId FROM dbo.Node C INNER JOIN Tree T ON C.ParentId = T.Id)SELECT * FROM Tree -- Get parents by child idWITH Tr
在现实生活中,公司的部门设计会涉及到很多子部门,然后子部门下面又存在子部门,形成类似判断的树状结构,比如说评论楼中楼的评论树状图,职位管理的树状图结构等等,实现类似的树状图数据结构是在开发中经常出现的. 一.数据库关系结构设计 在SqlSever中:我们设计部门表:Department,结构如下: 添加测试数据如下: 添加存储过程: ALTER PROCEDURE [dbo].[pSelectDepartment] @Id int AS BEGIN with cte as ( as lvl fr
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只要精通数据库那么对于java开发你就成功了三分之一,本篇中主要介绍start with...connect by prior .order by .sys_connect_by_path. 概要:树状结构通常由根节点.父节点.子节点和叶节点组成,简单来说,一张表中存在两个字段,dept_id,par
浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只要精通数据库那么对于java开发你就成功了三分之一,本篇中主要介绍start with...connect by prior .order by .sys_connect_by_path. 浅谈oracle树状结构层级查询的博客地址是 浅谈oracle树状结构层级查询之start with ....