--创建用户定义函数
create function f_str(@name int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret + ',' + value from tname where name = @name
set @ret = stuff(@ret,1,1,'')
return @ret
end
--执行查询
select name,value=dbo.f_str(name) from tname group by name order by name
create function f_str(@name int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret + ',' + value from tname where name = @name
set @ret = stuff(@ret,1,1,'')
return @ret
end
--执行查询
select name,value=dbo.f_str(name) from tname group by name order by name
解决方案 »
- 如何批量判断是否存在呀? 求助 泪奔~~o(>_<)o ~~
- 问一个access数据库中用count的问题,谢谢
- 请问sql server 2005里能存储Unicode扩展汉字么?
- pbvm70.dll 报错
- 关于存储过程传参数问题
- 一个查询中的字查询,请问怎么在子查询返回空行时显示我指定的字符
- 想问一下 这样的一条sql语句怎么写??
- 一个关于数据插入的问题?
- vfp的grid问题(解决后另给100分)
- 英文系统,英文数据库环境,汉字是怎么存到里面的?
- 紧急求救:我刚才把一列数据删掉了,请问能不能恢复???
- 【急】安装到“远程信息”这一步时报“请确保指定的帐户是域帐户而不是计算机帐户。”,无法继续下去。
returns varchar(3000)
as
begin
declare @sql varchar(3000)
set @sql=''
select @sql=@sql+','+value from table1 where name=@name
return right(@sql,len(@sql)-1)
endselect name,dbo.f_1(name) from table1
create table tname(name int,value varchar(10))
insert into tname select 1,'A'
insert into tname select 2,'B'
insert into tname select 1,'C'
insert into tname select 3,'E'
insert into tname select 2,'F'
insert into tname select 1,'G'
go--创建用户定义函数
create function f_str(@name int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret + ',' + value from tname where name = @name
set @ret = stuff(@ret,1,1,'')
return @ret
end
go--执行查询
select name,value=dbo.f_str(name) from tname group by name order by name--输出结果
/*
name value
---- -----
1 A,C,G
2 B,F
3 E
*/--删除测试环境
drop function f_str
drop table tname
go