---需要一个处理函数create function f_getStr(@strid varchar(4)) returns varchar(8000) as begin declare @s varchar(8000) set @s='' select @s=@s+'+'+convert(varchar,Quantity)+'*'+convert(varchar,[count]) from (select JKNO,Quantity,[count]=(select count(*) from 表p where Quantity=a.Quantity and a.JKNO=JKNO) from 表p a group by JKNO,Quantity)b where JKNO=@strid return(stuff(@s,1,1,'')) end--调用 select JKNO,Quantity=(dbo.f_getStr(JKNO)) from 表p group by JKNO
--测试create table 表p(JKNO varchar(4),Quantity int) insert 表p select '0001',50 union all select '0001',50 union all select '0001',50 union all select '0001',20 union all select '0001',10 union all select '0002',20 union all select '0002',15 union all select '0002',50--需要一个处理函数create function f_getStr(@strid varchar(4)) returns varchar(8000) as begin declare @s varchar(8000) set @s='' select @s=@s+'+'+convert(varchar,Quantity)+'*'+convert(varchar,[count]) from (select JKNO,Quantity,[count]=(select count(*) from 表p where Quantity=a.Quantity and a.JKNO=JKNO) from 表p a group by JKNO,Quantity)b where JKNO=@strid return(stuff(@s,1,1,'')) end--调用select JKNO,Quantity=(dbo.f_getStr(JKNO)) from 表p group by JKNO--但是结果是这样,我想也差不多了吧!JKNO Quantity 0001 10*1+20*1+50*3 0002 15*1+20*1+50*1
是的.请问如何实现?
returns varchar(8000)
as
begin
declare @s varchar(8000)
set @s=''
select @s=@s+'+'+convert(varchar,Quantity)+'*'+convert(varchar,[count]) from (select JKNO,Quantity,[count]=(select count(*)
from 表p where Quantity=a.Quantity and a.JKNO=JKNO)
from 表p a group by JKNO,Quantity)b where JKNO=@strid
return(stuff(@s,1,1,''))
end--调用
select JKNO,Quantity=(dbo.f_getStr(JKNO)) from 表p group by JKNO
insert 表p select '0001',50
union all select '0001',50
union all select '0001',50
union all select '0001',20
union all select '0001',10
union all select '0002',20
union all select '0002',15
union all select '0002',50--需要一个处理函数create function f_getStr(@strid varchar(4))
returns varchar(8000)
as
begin
declare @s varchar(8000)
set @s=''
select @s=@s+'+'+convert(varchar,Quantity)+'*'+convert(varchar,[count]) from (select JKNO,Quantity,[count]=(select count(*)
from 表p where Quantity=a.Quantity and a.JKNO=JKNO)
from 表p a group by JKNO,Quantity)b where JKNO=@strid
return(stuff(@s,1,1,''))
end--调用select JKNO,Quantity=(dbo.f_getStr(JKNO)) from 表p group by JKNO--但是结果是这样,我想也差不多了吧!JKNO Quantity 0001 10*1+20*1+50*3
0002 15*1+20*1+50*1