我的问题是有一张表 如左         userid    title 
                               2        仍然
                               2         围绕台
                               2         饿热
                               5         统一体眼   
                               6         由于 
我要用存储过程把 userid 为2的 title 付给一个变量 就是说把3个title 付个一个变量
          
                 用datagrid绑定显示为
         用户ID   TITLE个数          详情
           2          3        仍然,围绕台, 饿热
           5          1             统一体眼
           6          1               由于 
不用游标 请问大虾怎么实现
create table tab(userid int,title varchar(50))
goinsert tab values(2,'仍然')
insert tab values(2,'围绕台')
insert tab values(2,'饿热')
insert tab values(5,'统一体眼')
insert tab values(6,'由于')
go
--合并处理函数,用用户定义函数
CREATE FUNCTION dbo.f_str(@col1 varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+title
FROM tab
WHERE userid=@col1
RETURN(STUFF(@re,1,1,''))
END
GOselect userid,[TITLE个数]=count(userid),[详情]=dbo.f_str(userid) from tab group by userid
go
--删除测试
DROP TABLE tab
DROP FUNCTION f_str
go/*
userid      TITLE个数     详情                                                                                                   
----------- ----------- ---------------------------------------------------------------------------------------------------- 
2           3           仍然,围绕台,饿热
5           1           统一体眼
6           1           由于(所影响的行数为 3 行)
*/