- 论坛徽章:
- 0
|
if exists(select * from sysobjects where name=\'itpub\' and type=\'u\')
drop table itpub
create table [itpub](--新建一个表
id int ,
munid int,
item varchar(100))
--象表里面插如记录
insert [itpub] select 1,102,\'BAGS \' union all
select 2,102,\'SWATCH \' union all
select 3,105,\'TEA\' union all
select 4,105,\'T_SHIRTS\'
GO
--创建一个函数,起功能是把MUNID相等的ITEM合并到一起形成一行
create function itpub_fun(@munid int) returns varchar
as
begin
declare @item varchar(8000)
set @item=\'\'
select @item=@item+rtrim(item)+\' \' from itpub where munid=@munid
set @item=rtrim(@item)
return @item
end
GO
select munid,dbo.itpub_fun(munid) item from itpub group by munid
要得到的结果应该是:
munid item
----------- - ---
102 BAGS SWATCH
105 TEA T_SHIRTS
但是事实上,return @item只传递了一个字符
请问这是怎么回事哈
如果是这样的:
declare @item varchar(8000)
set @item=\'\'
select @item=@item+rtrim(item)+\' \' from itpub where munid=105
print @item
那么运行后是:
TEA T_SHIRTS |
|