部分重复记录求和

aud_2008 2009-04-23 10:32:18
表A,Feild有B1/B2/B3/B4/B5,共有2000条记录,
当其中某些N条记录B1=B1,B2=B2时,合并这些记录,即求SUM(B3)、SUM(B4),B5虽然不同,但赋值成N个B5之字串和。

如何执行SQL,非常感谢!
N< 2000,最后合并的记录应该< 2000,是要求整个表的全记录,无重复。表结构不变。
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
先进行B5的字符串连接,放到一个临时表#中
--合并处理函数
CREATE FUNCTION dbo.f_str(@col1 varchar(10))
RETURNS varchar(100)
AS
BEGIN
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+CAST(col2 as varchar)
FROM tb
WHERE col1=@col1
RETURN(STUFF(@re,1,1,''))
END
GO

--调用函数
SELECT col1,col2=dbo.f_str(col1) FROM tb GROUP BY col1
--删除测试
DROP TABLE tb
DROP FUNCTION f_str
/*--结果
col1 col2
---------- -----------
a 1,2
b 1,2,3

2、然后select b1,b2,b3=sum(b3),b4=sum(b4),b5
from #
group by b1,b2,b5
htl258_Tony 2009-04-23
  • 打赏
  • 举报
回复
有点抽象,暂不想多耗脑汁了,帮顶先。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧