求表a中满足条件的对应表b中某字段的和?

pangxiaoya 2003-12-09 09:24:39
查询表a中finishdate字段落在starttime与endtime时间段的记录,根据表a中PLANETYPE,PARTDRAWINGID,GONGXUID三个字段取得表b中worktime字段的和,程序是这样的,老出错,大家看一下问题出在那?
strsql="SELECT PLANETYPE,PARTDRAWINGID,GONGXUID FROM sGONGXUORDERSHEETTRACE WHERE finishdate between to_date('"&starttime&"','yyyy-mm-dd') and to_date('"&endtime&"','yyyy-mm-dd')"
rs.Open strsql,cn,3,3,1

'指针移到第一条记录
if not rs.EOF <>0 then
rs.MoveFirst
end if

dim worktimesum,,totaltimesum,strsql2,rs2
set rs2=server.CreateObject ("ADODB.recordset")
do while not rs.EOF
worktimesum=0
strsql2="SELECT sum(WORKTIME) as worktimesum FROM DJ11PROCLAYOUT WHERE (PLANETYPE='"&rs("PLANETYPE")&"'and PARTDWGNO='"&rs("PARTDRAWINGID")&"'and PROCID='"&rs("GONGXUID")&"')"
cn.exeute strsql2
totaltimesum=totaltimesun+worktimesum
rs.MoveNext
loop
出错的地方在循环内部
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pangxiaoya 2003-12-09
  • 打赏
  • 举报
回复
问题是这样的:sql语句本身没错
但是如果用Response.Write rs2("worktimesum") 取和时,循环就出错,如果循环只运行一次还可以,大于1时就出错,什么问题?
pangxiaoya 2003-12-09
  • 打赏
  • 举报
回复
worktime是NUMBER型的,如果我在loop前加上response.end,就能执行,在strsql中这样用循环有问题吗?
jacklinchen 2003-12-09
  • 打赏
  • 举报
回复
你的WORKTIME是数字型字段吗? 若不是,就不能用sum()了
zhanghao5188 2003-12-09
  • 打赏
  • 举报
回复
WORKTIME是数字型字段 ?? 否則要用isnumeric() 進行判斷,方能sum() 求和!!

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧