结存数据问题

sdd12322 2013-09-03 10:12:10
上月结存 本月金额 分公司 日期
10 0 广东深 2013-08
20 0 杭州 2013-08
30 0 合肥 2013-08
0 40 广东深 2013-09,上月结存应该 是10,下个月(10月)应该变成50
0 40 杭州 2013-09
0 40 合肥 2013-09
8月份的数据 是期初数据,2013-09是9月的统计(select 分公司,sum(金额) from 出库单 group by 分公司)。我想做的是结存表,怎么样把每个月的结存数据 存到上月结存 字段。
请指点,谢谢
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdd12322 2013-09-04
  • 打赏
  • 举报
回复
业务 表: id 金额 日期 分公司 1 10 2013-09-01 广东 2 30 2013-09-01 广东 3 20 2013-09-03 杭州 4 10 2013-09-04 杭州 .............. 设计 了一个结存表, 想把分公司(比如广东,金额为40)的本月产生的金额汇总(做为结存点)存入 结存表 中, 结存表就如我每个贴所设计的那样
sdd12322 2013-09-04
  • 打赏
  • 举报
回复
就是每天都有金额录入,到月抹的时候把这个月的金额存到别的数据库表中,这样每个月都 有个结存的数,便于查帐
sdd12322 2013-09-04
  • 打赏
  • 举报
回复
不好意思,可能是我数据库设计的问题,那个数据就是我数据库里的数据。我就是想做个月抹结存功能,到月底时把这个月的金额结存 一下,就行了,能给个好的方案吗?谢谢
hgwyl 2013-09-04
  • 打赏
  • 举报
回复
(多余字段省略,楼主自己看实际需求吧) 一、库存表 日期 分公司 数量 产品编号 2013-09-01 广东 10 A01 (其他记录省略) 二、业务表 日期 分公司 数量 产品编号 2013-09-02 广东 35 A01 (其他记录省略) 三、程序逻辑 1、以2013-09-01作为上次盘点的库存(10个) 2、联合扫描库存表和业务表 ——其中库存表中,指定日期为2013-09-01 ——其中业务表中,日期>=2013-09-01 ——group by 产品编号,分公司 ——列表循环显示所有产品 ——此处为第一循环 3、假设第一循环出来的A01记录 日期 分公司 数量 产品编号 广东 A01 (其余记录省略) 4、第一循环中的指定记录中,分别扫描库存表和业务表 日期 分公司 数量 产品编号 广东 A01 2013-09-01 10 (这是库存记录) 2013-09-02 35 (这是业务记录) 5、建议以日期作为聚集索引,分公司作为非聚集索引。 6、我自己做的库存系统是这样处理,仅供参考。 7、这编辑器排版是有点乱的,也没几行,将就着看吧。
lzw_0736 2013-09-03
  • 打赏
  • 举报
回复

WITH a1 AS
(
SELECT 上月结存,上月结存0=
ISNULL(
(SELECT SUM(上月结存+本月金额) FROM 表 
WHERE 日期=CONVERT(CHAR(7),DATEADD(mm,-1,a.日期+'-01'),120) AND 分公司=a.分公司),0)
FROM 表 a
WHERE 日期='2013-09'
)
UPDATE a1 SET 上月结存=上月结存0
Andy__Huang 2013-09-03
  • 打赏
  • 举报
回复
你直接拿出你一个错误的统计数据给别人帮你,结果还是错误的。你应该拿明细数据出来 参考这个写法:
select  分公司,日期,上月结存,本月金额
	,本月余额=(select SUM(上月结存)+SUM(本月金额) from #tb b where a.分公司=b.分公司 and b.日期<=a.日期)
from #tb a

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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