我想 请问一下 关于 库存结算 的问题
每个月 有盘点  名称 和 规格 分组 得到 数量 金额
要求如下:1 月份 仓库库存 (初始值)
物品A  规格A    12 (数量)        1200  (金额A)
物品A  规格B    5 (数量)        400  (金额B)二月份 入库情况
物品A  规格A    8 (数量)        900  (金额)
物品A  规格A    6 (数量)        500(金额)
物品A  规格A    6 (数量)        600  (金额)
物品A  规格B   15(数量)        1800 (金额)
物品A  规格B    11 (数量)        1200  (金额)
物品A  规格B    12 (数量)        1200  (金额)二月底 库存统计(剩余)
物品A  规格A    16 (数量)        (金额C)
物品A  规格B    18 (数量)       (金额D)金额C= (金额A + 二月份物品A规格A入库的金额)/二月份 物品A规格A入库的数量*现存数量(16)如何计算出 金额 C 和金额D
我怎么能实现这个功能 感到无从下手!!
有点象 梯归 的样子  一环接也一环 
请求帮忙!
我是用 VB+SQL2000 做的  该如何设计

解决方案 »

  1.   

    select 一月份.物品 ,一月份.规格,一月份.数量 + (select sum(二月份.数量) where 二月份.规格+二月份.数量 = 一月份.规格+一月份.数量) as 现存数量,(一月份.金额 + (select sum(二月份.金额) where 二月份.规格+二月份.数量 = 一月份.规格+一月份.数量))/(select sum(二月份.数量) where 二月份.规格+二月份.数量 = 一月份.规格+一月份.数量) * 现存数量 from 一月份
      

  2.   

    首先谢谢你  
    我想说的是
    我现在是只有一个表 tablea一 月 份库存 金额 数量 用 select 句 分类汇总得到(有sum where group by 多个条件 )
    一 月 份入库 金额 数量 也用 select  分类汇总得到(有sum where group by 也要多个条件 )两者条件也不一样  这个语句想都不感象
    连起来也用 select 语句???
    我狂晕
      

  3.   

    我现在的表结构是  (物资库)
    入库单号    名称    规格   入库数量   剩余支数   金额    入库时间
     rkdh       mc      gg       rksl       sysl       je        rksj这个好象是 递归  
    一开始没有问题  (初始值)
    我想问的是  4 月份  5 月份 怎么办??
    4 月份的 剩余数量  可以用 select 查询 sysl 不等于0 就ok
    金额怎么算呢??
    这是不是算法问题,我想了几天了没办法 找不到方向  高手帮帮忙呀!!!
      

  4.   

    楼主要的不是一个 SQL 语句,而是一个完整的算法思路。实际上,你的问题是:
        用累次入库的平均价来计算当前库存的价值。如果得到这个滚动的平均价?建议你这样做:
        增加一个均价表。每个规格的产品一条记录(当然开始时是空表)。字段有品名、规格、累计数量和均价。
        入库表中每增加一条记录时,查询均价表中对应规格产品。如果没有,新增一条记录,否则更新查到的记录。首先,将累计数量乘以均价,得到累计金额;在此累计金额上加上新入库产品金额,得到新的总金额。然后,更新累计数量,用新的总金额除以新的累计数量,得到并更新均价。    这样,你任何时候要计算库存价值时,都可以利用均价。