期末结存=期初结存+本期收-本期出
期初结存=(上期)期末结存
---------可以推出下面公式:
期初结存=期末结存+本期出-本期收select 期间,[期初结存]=期末结存+本期出-本期收,本期收,本期出,期末结存 from v_1说明:在统计进销存库存一块,本期出、本期收和期末结存是可以直接查到.
期初结存=(上期)期末结存
---------可以推出下面公式:
期初结存=期末结存+本期出-本期收select 期间,[期初结存]=期末结存+本期出-本期收,本期收,本期出,期末结存 from v_1说明:在统计进销存库存一块,本期出、本期收和期末结存是可以直接查到.
期间 期初结存 本期收 本期出 期末结存
5 554.00 Null NUll Null
6 554.00 35.00 178.00 411.00
7 411.00 74.00 119.00 366.00
8 366.00 7.00 58.00 315.00
如果这样,是不是会更容易些,关键是在计算的时候,如何才能把NUll值变成0,谢谢各位帮忙~
5 554.00 Null NUll Null
6 554.00 35.00 178.00 411.00
7 411.00 74.00 119.00 366.00
8 366.00 7.00 58.00 315.00
如果这样,是不是会更容易些,关键是在计算的时候,如何才能把NUll值变成0,谢谢各位帮忙~
----------isnull(本期出,0)
create table ta(期间 int, 期初结存 real,
本期收 real, 本期出 real, 期末结存 real)
go
insert ta select 6, 554.00, 35.00, 178.00, 411.00
union all select 7, 554.00, 74.00, 119.00, 509.00
union all select 8, 554.00, 7.00 , 58.00, 503.00
--查询
select 期间
,期初结存=isnull((select max(期初结存)+sum(本期收)-sum(本期出) from ta as t2 where t2.期间<t1.期间), 期初结存)
,本期收
,本期出
,期末结存=(select max(期初结存)+sum(本期收)-sum(本期出) from ta as t2 where t2.期间<=t1.期间)
from ta as t1
--清除
drop table ta