当前位置: 代码迷 >> Java Web开发 >> for循环计算有关问题,来人救命!
  详细解决方案

for循环计算有关问题,来人救命!

热度:2302   发布时间:2013-02-25 21:09:34.0
for循环计算问题,来人救命!!!!
银行 会计科目 借方发生额 贷方发生额
---------------------------------------------------------------------------------------------------
6403 010999997001511051101 0.0 -25.8  
6403 010999997001511051101 0.0 0.0  
6403 010999997001407021046 -430.0 0.0  
6403 00130632100120107000750 0.0 -404.2  
6403 00130632100120107000750 0.0 -404.2  
6403 00130632100120107000750 0.0 0.0  
6403 010999997001511051101 0.0 -25.8  
6403 010999997001407021046 -430.0 0.0  
  合计 ¥0.00 ¥0.00  

上面是我目前遍历数据表获得的值。

银行 会计科目 借方发生额 贷方发生额
---------------------------------------------------------------------------------------------------  
6403 00130632100120107000750 0.0 -808.4  
6403 010999997001511051101 0.0 -25.8  
6403 010999997001407021046 -860.0 -25.8  
  合计 ¥-860.00 ¥-860.00  

上面是我最终所要的结果
我该怎么办,抓破头皮都没想出来。。。。

------解决方案--------------------------------------------------------
不就是个合并么?善用 HashMap。

银行是全部相同的么?
那么:Key存放“会计科目”,Value是由数据行。

循环遍历的时候,先从Map中找到相同会计科目,然后对 发生额 进行合并;Map没有就新建。


如有不理解再谈。
------解决方案--------------------------------------------------------
select 银行,会计科目,sum(借方发生额),sum(贷方发生额) from tab group by 银行,会计科目
------解决方案--------------------------------------------------------
这个应该是你查询的问题哦! 如果你银行是确定的那你查询的时候group by 会计科目 在sum 借方金额, 和贷方金额 就能得到你想要的结果

------解决方案--------------------------------------------------------
感觉楼上都有些道理啊,就问题而言,感觉1楼就可以解决问题,但深层次的最优方案则是2楼或3楼的方案,既然能直接通过SQL取出结果,就不要再计算了
------解决方案--------------------------------------------------------
探讨

引用:
不就是个合并么?善用 HashMap。

银行是全部相同的么?
那么:Key存放“会计科目”,Value是由数据行。

循环遍历的时候,先从Map中找到相同会计科目,然后对 发生额 进行合并;Map没有就新建。


如有不理解再谈。

大哥,Value是由数据行。这句是什么意思,不是很理解哦。
大哥,我的发生额在数据表里面是区分借贷方存值的,MA……
  相关解决方案