SqlServer递归查询树形数据.pdfVIP

  • 0
  • 0
  • 约1.69千字
  • 约 2页
  • 2023-12-08 发布于宁夏
  • 举报

SqlServer递归查询树形数据

⼀:简单的树形数据代码如下:

--with⼀个临时表(括号中是你要查询的列名)

withtemp(ID,PID,Name,curLevel)

as

(

--1:初始查询(这⾥的PID=-1在我的数据中是最底层的根节点)

selectID,PID,Name,1aslevelfromdbo.T_ACL_OU

whereDeleted=0andPID=-1

unionall

--2:递归条件

selecta.ID,a.PID,a.Name,b.curLevel+1fromT_ACL_OUa--3:这⾥的临时表和原始数据表都必须使⽤别名,不然递归的时候不知道查询的是那个表的列

innerjoin

tempb

on(a.PID=b.id)--这个关联关系很重要,⼀定要理解⼀下谁是谁的⽗节点

)

select*fromtemp--4:递归完成后⼀定不要少了这句查询语句否则会报错

效果如图:

这⾥要注意的地⽅是注释中的1——4的部分

⼆:带缩进的树形数据代码如下:

withtemp(ID,PID,Name,curLe

文档评论(0)

1亿VIP精品文档

相关文档