--仅供参考我的问题是有一张表 如左 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 行)
*/
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 行)
*/
declare @ss varchar(5000)
set @ss=''
create table #t(a varchar(5000))
declare cursor_c cursor local for
select id,name,birthday from cus
open cursor_c
fetch next from cursor_c
into @id,@name,@bir
while @@fetch_status=0
begin
set @ss=@ss+str(@id)+@name+str(@bir)
fetch next from cursor_c
into @id,@name,@bir
end
insert into #t values(@ss)
select * from #t
drop table #t
比如某张表里的几条记录用户名 身高 性别 年龄
张三 180 男 20
李四 179 男 25
王六 170 女 18
我想连接成’张三 180 男 20 李四 179 男 25 王六 170 女 18‘这样的字符串,然后存放到表info里面成员这条记录的memo字段里,怎么操作,谢谢