select sum(case when InStockDate is not null then Number else 0 end)-sum(case when OutStockDate is not null then Number else 0 end) as 库存 from yourtable whereMaterialCode=某种物资编号 and StorageID=某个仓库代号 and InStockDate<某个时间
and OutStockDate<某个时间

解决方案 »

  1.   

    select sum(case when InStockDate is not null then Number else 0 end)-sum(case when OutStockDate is not null then Number else 0 end) as 库存,StorgeID from yourtable 
    whereMaterialCode=某种物资编号 and InStockDate<某个时间
    and OutStockDate<某个时间
    group  by StorgeID
      

  2.   

    select sum(case when InStockDate is not null then Number else 0 end)-sum(case when OutStockDate is not null then Number else 0 end) as 库存,StorgeID from yourtable 
    whereMaterialCode=某种物资编号 and InStockDate<某个时间
    and OutStockDate<某个时间
    group  by StorgeID
      

  3.   

    我这边是两个表!出库表WZ_OutStockBill和入库表WZ_InStockBill
      

  4.   

    select WZ_InStockBill.物资编号 ,sum(WZ_InStockBill.Number)-sum(WZ_OutStockBill.Number) as 库存 from WZ_OutStockBill,WZ_InStockBill where WZ_OutStockBill.MaterialCode=WZ_InStockBill.MaterialCode and  WZ_OutStockBill.StorageID=某个仓库代号 and WZ_InStockBill.StorageID=某个仓库代号  
    and WZ_InStockBill.InStockDate<某个时间 and WZ_OutStockBill.OutStockDate<某个时间
      

  5.   

    myflok(阿棋):
      还不行!无法解决入库表中有而出库没有!或出库有而入库没有情况!
      

  6.   


    tryselect WZ_InStockBill.MaterialCode ,sum(isnull(WZ_InStockBill.Number,0))-sum(isnull(WZ_OutStockBill.Number,0)) as 库存 from WZ_InStockBill left join WZ_OutStockBill on WZ_OutStockBill.MaterialCode=WZ_InStockBill.MaterialCode 
    and WZ_OutStockBill.StorageID=WZ_InStockBill.StorageID where WZ_InStockBill.StorageID=某个仓库代号 and WZ_InStockBill.InStockDate<某个时间 and WZ_OutStockBill.OutStockDate<某个时间
    union
    select WZ_OutStockBill.MaterialCode ,sum(isnull(WZ_InStockBill.Number,0))-sum(isnull(WZ_OutStockBill.Number,0)) as 库存 from WZ_OutStockBill left join WZ_InStockBill on WZ_OutStockBill.MaterialCode=WZ_InStockBill.MaterialCode 
    and WZ_OutStockBill.StorageID=WZ_InStockBill.StorageID where WZ_InStockBill.StorageID=某个仓库代号 and WZ_InStockBill.InStockDate<某个时间 and WZ_OutStockBill.OutStockDate<某个时间
      

  7.   

    表或函数"WZ_InStockBill"和"WZ_OutStockBill"具有相同的表现名称,请有相关名称区分它们!
      

  8.   

    可以建一个job每隔一段时间执行插入库存表的记录到另一个表中,然后库存表里始终是最新的数据,而另一个表中则放了每一个时间段的了,对吧?那个表中只需记录下当天时间就行