当前位置: 代码迷 >> Sybase >> 树结构解决思路
  详细解决方案

树结构解决思路

热度:4563   发布时间:2013-02-26 00:00:00.0
树结构
有没有高手提供一个SYBASE的树结构,或者叫层次查询,或者相当于ORACLE   SYS_CONNECT_BY_PATH的意义的思路,或者是连接,谢谢了
具体需求是:
ID                                                 C1
A                                                   12
A                                                   13
A                                                   14
B                                                   2
B                                                   8

最后要得到的结果是

ID                                                               C1
A                                                                 12,13,14
B                                                                   2,8

小弟刚接触SYBASE,请大家提供一个存储过程的思路,或者是一个连接,谢谢.这周结帖
分不够可以加

------解决方案--------------------------------------------------------
帮你顶
------解决方案--------------------------------------------------------
Oracle支持用户定义函数不?以下是在SQL Server 2000里的例子:


--生成测试数据
create table 表(部门 int,人员 varchar(20))
insert into 表 select 1, '张三 '
insert into 表 select 1, '李四 '
insert into 表 select 1, '王五 '
insert into 表 select 2, '赵六 '
insert into 表 select 2, '邓七 '
insert into 表 select 2, '刘八 '
go

--创建用户定义函数
create function f_str(@department int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ' '
select @ret = @ret+ ', '+人员 from 表 where 部门 = @department
set @ret = stuff(@ret,1,1, ' ')
return @ret
end
go


--执行
select 部门,人员=dbo.f_str(部门) from 表 group by 部门 order by 部门
go

--输出结果
/*
部门 人员
---- --------------
1 张三,李四,王五
2 赵六,邓七,刘八
*/


--删除测试数据
drop function f_str
drop table 表
go
  相关解决方案