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

讨论 sql 问题?

lfs6362240 发布于 2007-11-27 16:42, 1050 次点击
计算库存结余
test
 
Inv    inouttype    Iquantity       
001    in    300       
001    out    200       
002    in    50
4 回复
#2
purana2007-11-27 17:07
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
XieLi2007-11-27 17:52
他会把10个问题拆分开来问
#4
lfs63622402007-11-27 17:57
兄弟 ,你是搞编程的吗?
其他八道题 我已经做出来了 只剩这一道.
#5
lfs63622402007-11-27 18:02
BAD to GET
兄弟,我相信你比我能说,来到这个地方,就是学习,讨论.不是说闲话的!!!!!!!!!!!!!!!!!!!!
1