读书人

求一条SQL语句怎么将多行的数据整合

发布时间: 2012-01-19 00:22:28 作者: rapoo

求一条SQL语句,如何将多行的数据整合成一行
表数据是这样的:
F_User_ID F_Dept_Name
----------- --------------------------------------------------
2 信息部
2 财务部
2 生产技术中心
4 信息部
5 科技部
5 财务部


我要整合成这样:


F_User_ID F_Dept_Name
----------- --------------------------------------------------
2 信息部,财务部,生产技术中心
4 信息部
5 科技部,财务部


不用游标怎么解决?在线等,解决后就给分,请各路高手赐教!谢谢

[解决办法]
有似的,考
http://community.csdn.net/Expert/topic/5446/5446407.xml?temp=.2094843
[解决办法]
create function fn_test(@F_User_ID int)
returns varchar(50)
AS
begin
declare @s varchar(50)
set @s= ' '
select @s=@s+ ', '+F_Dept_Name from 表 where F_User_ID=@F_User_ID
set @s=stuff(@s,1,1, ' ')
return @s
end
Go

select F_User_ID,dbo.fn_test(F_User_ID) as F_Dept_Name
from 表 group by F_User_ID
[解决办法]
returns varchar(50)

太小了,才定50,等截了就麻了。

在playwarcraft的基上修改下.


create function fn_test(@F_User_ID int)
returns varchar(5000)
AS
begin
declare @s varchar(5000)
set @s= ' '
select @s=@s+ ', '+F_Dept_Name from 表 where F_User_ID=@F_User_ID
set @s=stuff(@s,1,1, ' ')
return @s
end
Go

select F_User_ID,dbo.fn_test(F_User_ID) as F_Dept_Name
from 表 group by F_User_ID

读书人网 >SQL Server

热点推荐