<<< 返回 access911.net 编程静态资料库索引页

如何动态查询余额——之三?丢掉用dsum()的方法吧!

 

作者:cg1  摘自:access911.net  录入:cg1  时间:2003-1-3  浏览人次:2346


专题地址:http://access911.net/fixhtm/72FAB31E17DC.htm 如果需要更详细的评论或说明,请点击该地址。

 

简述:《ADP》如何动态查询余额——之三?丢掉用dsum()的方法吧!

 


以下方法主要考虑的就是输入顺序和实际记帐日期不同的情况,如果没有上述情况,请直接使用id
,经多次测试,速度可加快 81 倍。如果将sum合并,速度还会有所提高。

cdate为记帐日期,id为自动增加字段
------------------------------------------
begin
declare @starttime datetime
declare @stoptime datetime

select @starttime=getdate()
SELECT id, Dr, Cr, cdate,
          (SELECT SUM(b.dr) - SUM(b.cr) AS bb
         FROM dbo.cashlist b
         WHERE b.cdate+cast(b.id as float(8))/(b.id+10) <= a.cdate+cast(a.id as float(8))/(a.id+10)  ) AS ye
FROM dbo.cashlist a
ORDER BY cdate, id
select @stoptime=getdate()
print datediff(ms,@starttime,@stoptime)

end
---.....................
...........

资料库随时有更新,欲查看最新详情请单击专题地址http://access911.net/fixhtm/72FAB31E17DC.htm

 


上一篇:dhtml客户端动态生成控件

下一篇:sql server数据类型速查

2017年2月22日生成静态资料