sqlserver查询父子级关系

Posted 夜月天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver查询父子级关系相关的知识,希望对你有一定的参考价值。

自上向下的查询方法,查询出自身以及所有的子孙数据:

--自上往下搜索
;with maco as
(
select * from ty_Dictionary where id =21
union all 
select t.* from ty_Dictionary t,maco m where t.ParentID=m.ID
)
select distinct * from maco order by id desc

 

自下向上查询,查询出自身以及所有的直系祖先:

--自下往上搜索
;with maco as
(
select * from ty_Dictionary where id=23
union all 
select t.* from ty_Dictionary t,maco m where t.ID=m.ParentID
)
select * from maco order by id

 

删除自身以及所有的子孙数据:

;with maco as
(
select ID,ParentID from ty_Dictionary where ID=21
union all 
select t.ID,t.ParentID from ty_Dictionary t,maco m where t.ParentID=m.ID
)
delete from ty_Dictionary where ID in( select ID from maco group by ID)

 

以上是关于sqlserver查询父子级关系的主要内容,如果未能解决你的问题,请参考以下文章

用于获取存储在单个表中的 n 级父子关系的 Postgresql 查询

MySQL查询父子关系

一个查询SOQL中的父子关系和子父关系

使用 mongodb 聚合获取父子关系

树结构数据查询父子级

如何选择具有父子关系的记录对父级具有最高分数