首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查找子类的所有下级父类

2012-12-29 
查找子类的所有上级父类?表名:commonsite_pcls字段:id, cls_name , parent_id现有的数据:1学生02教师04特

查找子类的所有上级父类?
表名:commonsite_pcls
字段:id, cls_name , parent_id
现有的数据:
1学生0
2教师0
4特岗教师2
5招聘2
6工资待遇2
7派遣1
8中考1
20其他0
23代课教师2
24职称2
25高考1
26档案1
28教师资格2
29培训2
30奖罚2
31民办教师2
32其他2
33就业1
34助学金1
35学历认证1
36专升本1
37减负1
38学位1
39入学1
40小升初1
41其他1
42教育收费0
43安全0
44普通话0
45大学5
46中学5
47小学5
48大学6
49中学6
50小学6
51大学24
52中学24
53小学24
54大学28
55中学28
56小学28
查询的结果:比如 查询id=45
显示结果为:
id   parent_name
45   教师-招聘-大学
用sql写个函数该怎么写?
[解决办法]
用存储过程吧!

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[selectp]
@id int
as
declare @pid int
declare @s varchar(400)
set @pid=0
set @s=''
select @pid=parent_id from dbo.commonsite_pcls where id=@id
while @pid<>0
begin
select @pid=parent_id,@s=cls_name+'-'+@s from dbo.commonsite_pcls where id=@pid
end
select id,@s+cls_name as cls_name from dbo.commonsite_pcls where id=@id

热点排行