谢谢各位星星们,偶还想再问一下
create function f_merg(@sno varchar(3))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+' '+rtrim(cno) from 表 where sno=@sno
set @re=substring(@re,2,8000)
return(@re)
end
这里的'表'名,'sno'这样字段名可以用参数传入吗?
我用varchar类型的变量试过不可以
是不是针对不同的
create table 表(sno char(3),cno char(3))
insert into 表
select '001','001'
union all select '001','002'
union all select '001','003'
go
--创建一个合并的函数
create function f_merg(@sno varchar(3))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+' '+rtrim(cno) from 表 where sno=@sno
set @re=substring(@re,2,8000)
return(@re)
end
go
--调用这个自定义函数来实现你的要求
select sno,cno=dbo.f_merg(sno) from 表 group by sno
go
drop table 表
drop function f_merg
--创建一个合并的函数
create function f_merg(@sno varchar(3))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+' '+rtrim(cno) from 表 where sno=@sno
set @re=substring(@re,2,8000)
return(@re)
end
go
--调用这个自定义函数来实现你的要求
select sno,cno=dbo.f_merg(sno) from 表 group by sno
--创建一个合并的函数
create function f_merg(@sno varchar(3))
returns varchar(8000)
as
begin
declare @re varchar(8000)
set @re=''
select @re=@re+' '+rtrim(cno) from 表 where sno=@sno
set @re=substring(@re,2,8000)
retrun(@re)
end
go
--调用这个自定义函数来实现你的要求
select sno,cno=dbo.f_merg(sno) from 表 group by sno
--1.创建一个合并的函数
create function fmerg(@id char(3))
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @str=@str+' '+cno from 表A where sno=@id
set @str=right(@str,len(@str)-1)
return(@str)
End
go
--调用自定义函数得到结果
select distinct sno,dbo.fmerg(sno) as cno from 表A