Access查询如何根据条件求和

Access查询如何根据条件求和,第1张

sql视图下:

select a,b总订货量

from 表名 as a,

(select 类别,sum(订货量) as 总订货量 from 表名 group by 类别) as b

where a类别=b类别

表名替换成你自己起的表名

横向求和的前提是被相加的字段的数据类型必须是数字类型,否则会报错。于选择查询中将,需要求和的字段加起来就行了。例如

select

字段1

+

字段2

+

字段N

as

横向合计

from

表名

第一,出现该错误,你应该明确的明白,这是因为你打开的这个数据库的表中,该序列jine,是不存在的。

所以,你现在就首先要检查,打开的表是不是你期待的表,或许你是打错了表名。接着,你打开该表,检查jine是不是存在,还是jine这个列名你写错了。找到原因,排查解决。我个人认为你那个select语句是错误的,括号及括号前的字段删除掉试下。

第二,求和其实很简单

<%

set conn=servercreateobject("adodbconnection")

connopen "driver={microsoft access driver (mdb)};dbq="&servermappath("qwemdb")

exec="select jine from huikuan"

set rs=servercreateobject("adodbrecordset")

rsopen exec,conn,1,1

dim sum_all

sum_all=0

%>

<%do while not rseof%>

<%

'你必须保证数据库中该字段一定是数值型,否则必须进行转换类型,否则会出错。

sum_all=sum_all+rs("jine")

%>

<%

rsmovenext

loop

responsewrite "总和等于:"&sum_all

%>

1、选择access查询选项。

2、选择在设计视图中创建查询。

3、选择 学生成绩 表后点添加,关闭添加窗口。

4、在后面的窗口头上点右键选择sql视图把下面的语句考入

select sum(数学) as 学生数学总分 from 学生成绩;

5、crtl+s保存,起名字叫 学生的数学总分。

---

以上,希望对你有所帮助。

建立费用表fy

连接数据库省略

2A<% dim fyzh

sql="select from fy"

set rs=serverCreateObject("adodbrecordset")

rsopen sql,conn,1,3

do while not rseof

fyzh=fyzh+rs("费用")

loop

rsmovenext

%>

B<% dim fyjs

sql="select from fy"

set rs=serverCreateObject("adodbrecordset")

rsopen sql,conn,1,3

do while not rseof

fyjs=fyjs+1

loop

rsmovenext

%>

3A<% dim fyzh,ntime

sql="select from fy "

set rs=serverCreateObject("adodbrecordset")

rsopen sql,conn,1,3

ntime=year(date())

do while not rseof

if ntime=year(rs("时间")) then

fyzh=fyzh+rs("费用")

end if

loop

rsmovenext

%>

B<% dim fyjs,ntime

sql="select from fy "

set rs=serverCreateObject("adodbrecordset")

rsopen sql,conn,1,3

ntime=year(date())

do while not rseof

if ntime=year(rs("时间")) then

fyjs=fyjs+1

end if

loop

rsmovenext

%>

如果源数据表中有数字型月份字段,记录中分别保存1到12等值,这样很好办,在汇总查询中,对人名group by,对数量条件求和,条件为between 1 and [截止月份号]。

如源数据表中字段名分别为1月、2月、直到12月,那就费劲了,要做个计算字段,公式里带11层iif嵌套。如:

合计: IIF([截止月份号]=1,[1月],IIF([截止月份号]=2,[1月]+[2月],IIF([截止月份号]=3,[1月]+[2月]+[3月],IIF([截止月份号]=4,……))))))))))))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11671059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存