一个列转为行的问题

sdweihailh 2012-10-09 08:36:26
deptid bblistid

1 zc01
1 zc02
1 zc03
2 xx01
2 xx02
2 xx03
要求结果
deptid bblistid
1 zc01,zc02,zc03
2 xx01,xx02,xx03
...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
-Tracy-McGrady- 2012-10-09
  • 打赏
  • 举报
回复
roy_88,高手啊,佩服佩服
中国风 2012-10-09
  • 打赏
  • 举报
回复
SQL2000只能用函数,05用xml或CTE都可以实现
参照其它方法
http://topic.csdn.net/u/20080612/22/c850499f-bce3-4877-82d5-af2357857872.html
中国风 2012-10-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

SQL2000如何实现?
[/Quote]


Create function fn_merge(@deptid int)
returns varchar(1000)
as
begin
declare @str varchar(1000)
set @str=''
select @str=@str+','+bblistid from 表 where deptid=@deptid
set @str=stuff(@str,1,1,'')
return @str
end


go
select deptid,dbo.fn_merge(deptid) as bblistid from 表 group by deptid
sdweihailh 2012-10-09
  • 打赏
  • 举报
回复
SQL2000如何实现?
快溜 2012-10-09
  • 打赏
  • 举报
回复
select deptid,
bblistid=stuff((select ','+bblistid from tb where deptid=a.deptid for xml path('')),1,1,'')
from tb a group by deptid

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧