如何给服饰店铺取名:ASP求和问题,急!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 12:24:45
在重复记录时:如下示例
ID 字段一 字段二 字段三 非字段
1 名称 100 30 70(两数相减)
2 名称 180 100 80(两数相减)
...
如果计算非字段的总和啊?急啊
Set Rs = Server.CreateObject("ADODB.RecordSet")
SqlStr = "select YEF00,YEF01,YEF02,YEF06,YEF10,YEF12,YEF13,YEF16 from YEXXXXXX where YEF00 between '"&t1&"' and '"&t2&"' and YEF16 between '"&js1&"' and '"&js2&"' order by YEF16"
Rs.Open SqlStr,conn,3,1

以上是连接数据库的。YEF10为一个小计字段,在页面上,又多两个列,一个值为YEF10*0.3,起名叫bz,还有一个起名叫jz,值为YEF10的值减去bz值,然后再乘以0.6,我现在需要求和的是YEF10、bz、jz三个的总和

急啊

**********************************************

各位兄弟,bz,jz不是数据库里的字段,<%bz=rs("YEF10")*0.3%>,是临时的,jz也一样。<%jz=(rs("YEF10")-200)*0.6%>。这两个值是在多出来的地方加了两列,现在重复之后,想计算各行bz的总和,各行jz的总和。

**************************************************

你这些需求实际上就是求出YEF10,得到它,其他的就好说了,可以这样写:

...
Dim sngTotal,result
Dim YEF10,bz,jz
sngTotal = 0
Set Rs = Server.CreateObject("ADODB.RecordSet")
SqlStr = "select SUM(YEF10) AS totalnum
from YEXXXXXX where YEF00 between '"&t1&"' and '"&t2&"'
and YEF16 between '"&js1&"' and '"&js2&"' order by YEF16"
Rs.Open SqlStr,conn,3,1
If Not Rs.Eof Then
sngTotal = Csng(Rs("totalnum"))
End If
Rs.Close
Set Rs = nothing
YEF10 = sngTotal
bz = Csng(YEF10*0.3)
jz = Csng(YEF10 - bz)*0.6
result = Csng(YEF10+bz+jz)

Csng()函数是转换Single类型的一个函数,Single是单精度浮点数。因为你这里面的计算可能会产生小数。

或者可以直接在SQL中来实现。如果还有什么问题,欢迎来信交流。tjoy7d@126.com

1、如果是求字段1和字段2之差的总和(象上面的仁兄说的),也可以:
SELECT SUM(字段1-字段2) AS result FROM table1

2、YEF10、bz、jz三个的总和
SELECT YEF10,(YEF10*0.3) AS bz,(YEF10*(1-0.3)*0.6) AS jz,(YEF+bz+jz) AS sum from table