求统计树型结构里指定层下子节点数的储存过程或函数

来源:百度知道 编辑:UC知道 时间:2024/09/23 22:36:01
树型结构图见图片.
从图上得知:
000001的第一层节点数:2个,分别为000002和000003;
第三层节点数:2个,分别为000007和000006;
第4层节点数:2个,分别为000008和000009;
现在,实际数据库比这要复杂,层是不固定的,我现在要统计6到15层,总共有多少个节点数.
求mssql下的存储过程或函数算法.感谢提供帮助,解决问题的答案将再追加50分表示感谢.

----这个,,无需使用存储过程,一条SQL就搞点了。

create table #t(id varchar(10),pid varchar(10), [name] nvarchar(10))
insert #t
select '0', null, '0顶级' union all
select '01', '0', '0子级' union all
select '02', '0', '0子级' union all
select '03', '0', '0子级' union all
select '011', '01', '01子级' union all
select '0111', '011', '011子级' union all
select '012', '01', '01子级' union all
select '021', '02', '02子级' union all
select '022', '02', '02子级' union all
select '0221', '022', '022子级' union all
select '0222', '022', '022子级' union all
select '1', null, '1顶级'

with ttr(id,pid,[name],lv) as
(