永发信息网

在SQL Server的存储过程里如何使用递归

答案:2  悬赏:0  手机版
解决时间 2021-04-04 23:03
表是这样的
create table Channel_Info
(
[ChannelId] int identity(1,1) primary key,
[Title] nvarchar(10) not null,
[ParentId] int
constraint FK_ChannelInfo_ChannelId references Channel_Info([ChannelId]) --自引用
)

我想查出像这样的数据
[ChannelId] [Title]
1 a
2 ....a1(引用1)
3 ....a2(引用1)
4 ...........aa1 (引用3)
5 b
6 c
7 .....c1
要查出这样的数据应该怎样做,请各位大哥大姐帮个忙,小弟在此先谢过了.....

这个太复杂了,有没有简单点的
最佳答案
--树型结构处理之双编号(广度深度排序)
if OBJECTPROPERTY(object_id('tb'),'isusertable')<>0
drop table tb
create table tb(ybh nvarchar(10),ebh nvarchar(10),beizhu nvarchar(1000))
insert tb
select '0001',null,'云南省'
union all select '0002','0001','昆明市'
union all select '0003','0001','昭通市'
union all select '0009','0001','大理市'
union all select '0008',null,'四川省'
union all select '0004',null,'贵州省'
union all select '0005','0002','五华区'
union all select '0007','0002','水富县'
union all select '0006','0005','西园路192号'
union all select '0010','0006','金色梧桐3-702'
union all select '0011','0010','昆明越科时空科技有限公司'
union all select '0015','0007','两碗乡'
union all select '0013','0015','两碗村'
union all select '0012','0013','某跨国集团董事长'
union all select '0014','0008','成都市'

--深度排序(模拟单编码法)
declare @level_tt table(ybh nvarchar(1000),ebh nvarchar(1000),level int)
declare @level int
set @level=0
insert @level_tt(ybh,ebh,level)
select ybh,ybh,@level from tb where ebh is null
while @@ROWCOUNT>0
begin
set @level=@level+1
insert @level_tt(ybh,ebh,level)
select a.ybh,b.ebh+a.ybh,@level
from tb a,@level_tt b
where a.ebh=b.ybh and b.level=@level-1
end
select space(b.level*2)+'----'+a.beizhu,a.*,b.*
from tb a,@level_tt b
where a.ybh=b.ybh
order by b.ebh
全部回答
with empscte as ( select employeeid, reportsto, firstname, lastname from dbo.employees where employeeid = 5 union all select emp.employeeid, emp.reportsto, emp.firstname, emp.lastname from empscte as mgr join dbo.employees as emp on emp.reportsto = mgr.employeeid ) select * from empscte; 这就是一个使用cte的一个查询,你看一下吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有腐甲的小巴西龟放盐水中会怎样
英国读研,总分6,单项5,如果拿到了学校的of
海贼王的蛇姬会加入草帽海贼团吗?
常考水浒传的歇后语,语文常考的书法,名言,
三国演义中有哪些美女
下列说法正确的是(  )A.液晶的光学性质
-I saw Mr. Smith at Xianyang Airport this
我想追一个女孩,学了塔罗牌想给她测她说她会
形容老人沧桑的句子,用古代语言怎样形容一位
一张彩票一般多少钱?还真的有几百万的大奖吗
ysl的粉底液和阿玛尼的粉底液哪个更好些
完形填空MyparentsranasmallrestaurantinSe
什么鱼不怕冷,不吃水草,可以养在小玻璃缸里
股票保本价是什么意思,股票里的摊薄保本价是
父不做媒,母不做师,喜不过生父,悲不过孝子
推荐资讯
宁波海洋世界大吗?玩一圈要多久?
什么是一种所成的势,对于个人来说也是一种品
番木瓜生活在那种环境?
13岁男生一米四八还可以再长30厘米吗
初中物理好难啊,怎么才学得好哦???
好玩的养成类单机游戏,两个g以内的就可以,
襄汾话:你作业写完了吗怎么说
长虹47寸液晶电视报价?(不是等离子)
商贩为了保鲜蔬菜上喷下伏尔玛琳应怎样清洗
你是傻子吗英语怎么说,你真是一个傻瓜用英语
尚学馆怎么去啊,有知道地址的么
自己新居入伙贺词,新居入伙的贺词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?