表结构如下:tbl(Tag nvarchar(7),PartNo nvarchar(16),Qty float) 测试数据如下: Tag PartNo Qty 0243306 000-1609-1 1000 0243322 000-1609-1 2000 0239787 000-1700-1 1500 0239834 000-1700-1 500
分组计算结果为: Tag PartNo Qty
0243306/0243322 000-1609-1 3000 0239787/0239834 000-1700-1 2000 以上只是个条测试数据,我只想找个解决方法,现实中数据会更复杂些. 解决立即送分!
分组计算结果为: Tag PartNo Qty
0243306/0243322 000-1609-1 3000 0239787/0239834 000-1700-1 2000 以上只是个条测试数据,我只想找个解决方法,现实中数据会更复杂些. 解决立即送分!
insert into tbl select
'0243306', '000-1609-1' , 1000 union select '0243322', '000-1609-1' , 2000 union select '0239787', '000-1700-1' ,1500 union select
'0239834', '000-1700-1' ,500 create function link_tag(@partno varchar(16))
returns varchar(8000)
as
begin
declare @tag varchar(8000)
set @tag=''
select @tag=@tag+'/'+Tag
from tbl
where PartNo=@partno
order by Tag
set @tag=stuff(@tag,1,1,'')
return @tag
end---drop function link_tagselect dbo.link_tag(PartNo) as Tag ,PartNo,sum(Qty) as Qty
from tbl
group by PartNo
---------------------
0243306/0243322 000-1609-1 3000.0
0239787/0239834 000-1700-1 2000.0(所影响的行数为 2 行)