在现实生活中,公司的部门设计会涉及到很多子部门,然后子部门下面又存在子部门,形成类似判断的树状结构,比如说评论楼中楼的评论树状图,职位管理的树状图结构等等,实现类似的树状图数据结构是在开发中经常出现的。
一.数据库关系结构设计
在SqlSever中:我们设计部门表:Department,结构如下:
添加测试数据如下:
添加存储过程:
ALTER PROCEDURE [dbo].[pSelectDepartment] @Id int AS BEGIN with cte as ( as lvl from Department where Id = @Id union all from cte c inner join Department d on c.Id = d.Pid ) select * from cte END
执行存储过程,现在查询的是Id=1即,总部下面的部门分布情况树状图