一个人员进销存借物SQL
SQL SERVER 2005
表:
编号,用户ID,物料编号,物料名,数量,出入,时间
1 333 B123 XX 10 -1 20110101
2 333 B123 XX 5 1 20110105
3 333 B111 X1 30 -1 20110102
4 333 B112 X2 13 -1 20110106
5 333 B112 X2 13 1 20110109
出入:-1是借出,1是归还。
现在想统计333这个用户个人借物情况,统计表如下。
用户ID,物料编号,物料名,借出数量,归还数量,未归还数量。
333 B123 XX 10 5 5
333 B111 X1 30 0 30
333 B112 X2 13 13 0
有没有效率高一点的SQL
------解决方案--------------------with cte(编号,用户ID,物料编号,物料名,数量,出入,时间)
as
(
select 1 ,333 ,'B123' ,'XX' ,10 ,-1 ,20110101 union all
select 2 ,333 ,'B123' ,'XX' ,5 ,1 ,20110105 union all
select 3 ,333 ,'B111' ,'X1' ,30 ,-1 ,20110102 union all
select 4 ,333 ,'B112' ,'X2' ,13 ,-1 ,20110106 union all
select 5 ,333 ,'B112' ,'X2' ,13 ,1 ,20110109
)
sele