日期:2014-05-17  浏览次数:20649 次

表数据求和并插入到下一条记录
求大神帮忙…………
我通过一连串的连接查询,得到一张表,如下:
订单号  名称    数量1    数量2    数量3
1          XX         100       200       100
2          XX         23         34         53
3          XX         34         54         23
如何通过SQL语句求和并插入,得到如下结果:
订单号  名称    数量1    数量2    数量3
1          XX         100       200       100
2          XX         23         34         53
3          XX         34         54         23
                        157         288         176
SQL

------解决方案--------------------
这样查询统计
declare @t TABLE(
订单号 varchar(10), 名称 varchar(10),    数量1  int,  数量2  int,  数量3 int)
insert @t select 1,          'XX',         100,       200,       100
insert @t select 2,          'XX',         23,         34,         53
insert @t select 3,          'XX',         34,         54,         23


select  
订单号=ISNULL(订单号,''),
case when grouping(订单号)=1 then '' else MAX(名称) end as 名称,
sum(数量1) as 数量1,
sum(数量2) as 数量2,
sum(数量3) as 数量3
 from @t group by 订单号 with rollup
 
/*
订单号 名称 数量1 数量2 数量3
1 XX 100 200 100
2 XX 23 34 53
3 XX 34 54 23
157 288 176
*/