数据分类重排!

表结构为:
ID   name   pid  
1     aaaa     0 
2     bbbb    0 
3     a111    1 
4     a222    1 
5     a333    1 
6     cccc     0 
想实现数据分类重排。

Create  function Mag_manageTypeSort(@id int)
returns varchar(max)
as
begin
declare @pid int
declare @return varchar(max)
select @pid=@id
select @result=''
while @pid>=1
begin
select @result=rtrim(@pid)+' '+@result,@pid=PID from Mag_manageType
 
where id=@id
select @id=@pid
end
return @result
end
go 
查询时调用function排序
select ID,case pid when 0 then name when 1 then '  '+name end as name
from Mag_manageType
order by dbo.Mag_manageTypeSort(id)
即可得到一下数据。
1 aaaa
3   1111
4   aaaa1
5   dd
2 bbbb
6 aaaaff
posted @ 2006-12-05 19:32  ansonpan  阅读(344)  评论(0编辑  收藏  举报