根据凭证表生成余额的SQL(我已实现,但数据量小的时候还可以,现在凭证行数约十万行,所以非常慢!)
凭证表(含主表日期后的视图):方向(1借,-1贷)凭证ID 日期 科目ID 方向 金额 核算项目A 核算项目B 核算项目C......
1 2009-1-1 1001 1 300 a
1 2009-1-1 1002 -1 300 b
...........由于需要精确到天数,所以没有做结存表结转的方式.生成结果如下:
外部条件定义日期 2009-3-1到2009-3-6 被定义为本期科目ID 期初金额 本期借方 本期贷方 期末余额也可能会因为用户的分组成科目ID 核算项目A... 期初金额 本期借方 本期贷方 期末余额如果有父级则父级的汇总包含子级.
说明:
2009-3-1以前的数据为期初
2009-3-1到2009-3-6为本期,根据借贷方填充借方或贷方
期末余额为:期初+借方-贷方(事实上需要根据科目余额方向,但这里只要这样能高效实现就万事大吉了)主要是比较好的实现,能提升速度就OK了
万分感谢!
凭证表(含主表日期后的视图):方向(1借,-1贷)凭证ID 日期 科目ID 方向 金额 核算项目A 核算项目B 核算项目C......
1 2009-1-1 1001 1 300 a
1 2009-1-1 1002 -1 300 b
...........由于需要精确到天数,所以没有做结存表结转的方式.生成结果如下:
外部条件定义日期 2009-3-1到2009-3-6 被定义为本期科目ID 期初金额 本期借方 本期贷方 期末余额也可能会因为用户的分组成科目ID 核算项目A... 期初金额 本期借方 本期贷方 期末余额如果有父级则父级的汇总包含子级.
说明:
2009-3-1以前的数据为期初
2009-3-1到2009-3-6为本期,根据借贷方填充借方或贷方
期末余额为:期初+借方-贷方(事实上需要根据科目余额方向,但这里只要这样能高效实现就万事大吉了)主要是比较好的实现,能提升速度就OK了
万分感谢!
解决方案 »
- Sybase的游标移动的问题
- 下面的SQL怎么写?谢谢帮忙!!!
- 求助:有500万条记录,存在于一个Array List里面,怎么才能最快的速度插入DB?多谢。
- 資料庫能否直接重命名?
- ssms在局域网内无法连接到远程的sql server服务器
- 特别急!如何取小数点后2位?
- 用过这个的分页的存储过程过来看看,效率是高但是有个问题,给据字段排序的话,有相同的顺序他是不能分页的,郁闷
- ===============又来一新问题!大家来帮帮我!欢迎大家讨论=====================================================
- 请教数据库设计的一个概念
- 精通ADO的请进
- 时间函数和sql字符串拼接处理问题
- 求一个计算问题?
再根据期初计结余
索引
定期汇总,从中计算得到期初,以减少期初的计算
数据查询时多用临时表,尽量不用子查询等效率低的设计