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,……))))))))))))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)