注册 登录
编程论坛 SQL Server论坛

怎样用sql语句计算库存结余?

xiaoshumo 发布于 2007-11-29 20:46, 1607 次点击
请问一个问题:
Inv   inouttype   Iquantity            
001    in         300    
001    out         200    
002    in         50    
怎样用sql语句计算库存结余?
2 回复
#2
purana2007-11-29 20:55
declare @t table(Inv char(3),InOutType varchar(3),Iquantity int)
insert into @t values('001','in',300)
insert into @t values('001','out',200)
insert into @t values('002','in',50)

select a.Inv,isnull(a.入帐,0)-isnull(b.出帐,0) 结余
from
(
  select Inv,sum(Iquantity) 入帐 from @t where InOutType='in' group by Inv
) a
left join
(
  select Inv,sum(Iquantity) 出帐 from @t where InOutType='Out' group by Inv
) b
on a.Inv=b.Inv

/*
Inv  结余         
---- -----------
001  100
002  50

(所影响的行数为 2 行)
*/
#3
purana2007-11-29 20:56
[url]http://bbs.bc-cn.net/thread-188767-1-1.html[/url]

前天才有人问过跟你一模一样的问题..
多翻翻旧帖..
1