sql server2000中,使数字相加的语句怎么写,要详细的.高分!!!

比方说有一个表,表的横行有几个数字(比方说7个),使用语句把横行的数字加起来,来显示.
表的竖行也有数字,把竖行的数字也显示!
急!!!
再详细点,举例说明下.

横行我理解是行,记录!竖行,我理解为列,字段!
一条记录中有多个数字的计算方法:
Dim X As Double
X = Val(RS("字段1")) + Val(RS("字段2")) + Val(RS("字段3")) + Val(RS("字段4")) + Val(RS("字段5")) + Val(RS("字段6")) + Val(RS("字段7"))
计算一个字段的数字和的方法:
Dim Y As Double
Do While Not RS.EOF
Y = Y + Val(RS("字段名"))
RS.MoveNext
Loop
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-11
横行的把字段名加到1起
竖行的 用sum

就是说
select sum(数字字段名1+数字字段名2+....+数字字段名7)
from 表

create table #t
(
cd int,
col1 int,
col2 int,
col3 int
)

insert into #t values(1,1,1,1)
insert into #t values(2,2,2,2)
insert into #t values(1,3,3,3)
insert into #t values(2,4,4,4)

--横向求和
select cd,col1+col2+col3
from #t
--竖向
select cd,sum(col1) as col1,sum(col2) as col2,sum(col3) as col3
from #t
group by cd
--双向
select cd,sum(col1+col2+col3) as col
from #t
group by cd
第2个回答  2010-01-11
--比如,表 tb 中的字段为id,a,b,c,d,e,f,你要加abcdef,再加合计
设id 为nvarchar类型
select id,a,b,c,d,e,f, (a+b+c+d+e+f) as 小计
from tb

union all
select '合计',sum(a),sum(b),sum(c),sum(d),sum(e),sum(f), sum(a+b+c+d+e+f)
from tb
第3个回答  2010-01-11
一条记录上的字段相加
select ([字段a]+[字段b]+[字段c]) as [总和] from [表]

n条记录的相同字段相加
select sum([字段a]) as [总和] from [表]
第4个回答  2010-01-11
--> 测试数据:@tb
declare @tb table([a] int,[b] int,[c] int,[d] int)
insert @tb
select 1,2,3,4 union all
select 2,3,4,5 union all
select 3,4,5,6 union all
select 4,5,6,7

select * from(
select *,sum(a+b+c+d) as 行合计 from @tb group by a,b,c,d
union all
select sum(a),sum(b),sum(c),sum(d),sum(a+b+c+d) from @tb) as t
/*
a b c d 行合计
----------- ----------- ----------- ----------- -----------
1 2 3 4 10
2 3 4 5 14
3 4 5 6 18
4 5 6 7 22
10 14 18 22 64
*/
第5个回答  2010-01-11
列举:表如下 求 s的合
y s
1 100
2 200
3 50
。 。
。 。
。 。

先要定义a,b2个函数

select b.y,sum(a.s) ss from t a join t b on a.y<=b.y group by b.y
相似回答