免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1979 | 回复: 3
打印 上一主题 下一主题

sybase树结构 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-08 14:25 |只看该作者 |倒序浏览
具体需求是:
ID                        C1
A                         12
A                         13
A                         14
B                         2
B                         8

最后要得到的结果是

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


为什么我取的数据只有最后一条啊?
declare @sql varchar(4000)
select @sql=''
select @sql=@sql+','+convert(varchar,c1) from (select  c1,id from part_master where id is not null  ) as a
select @sql
为什么只有最后一条数据啊?帮忙看看

论坛徽章:
0
2 [报告]
发表于 2007-02-08 17:12 |只看该作者
利用cursor 或者循环来做

select top 10 id,name into #a from sysindexes
go
create table #b (id int ,name varchar(200) null)
go
insert into #b(id) select distinct id from #a
go
declare cur cursor for select id,name from #a
go
open cur
declare @id int,@name varchar(30)
fetch cur into @id,@name
while @@sqlstatus = 0
  begin
    update #b set name=isnull(name,space(0))+@name+',' where id = @id
    fetch cur into @id,@name
  end
go
deallocate cursor cur
go
select * from #a
select * from #b
go

论坛徽章:
0
3 [报告]
发表于 2007-02-09 11:58 |只看该作者
呵呵,谢谢,已经搞定了,非常感谢.

论坛徽章:
0
4 [报告]
发表于 2007-02-09 12:51 |只看该作者
呵呵,解决就好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP