首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

库存管理sql语言,

2013-01-08 
库存管理sql语言求助,在线等!本帖最后由 redstar66 于 2012-12-21 15:02:06 编辑数据库有5个表目录:编码名

库存管理sql语言求助,在线等!
本帖最后由 redstar66 于 2012-12-21 15:02:06 编辑 数据库有5个表

目录:

编码   名称   

002   用户盒   

003   膨胀螺丝   

004   连接线   

006   -7线  

007   放大器 



库存:

编码   名称   数量   库房   

002   用户盒   1210   仓库1   

004   连接线   1088   仓库1   

003   膨胀螺丝   1100   仓库1   

006   -7线   10001   仓库1   

003   膨胀螺丝   1200   仓库2   



入库单:

入库编号   供应商   库房   操作员   入库日期   

00000001   四川广电网络   仓库1   系统管理员   2012-12-18      

00000002   四川广电网络   仓库1   系统管理员   2012-12-18      

00000003   南充广电网络   仓库1   系统管理员   2012-12-18    

  

入库明细:

入库编号   编码   名称   数量   库房   

00000001   002   用户盒   1000   仓库1   

00000001   003   膨胀螺丝   1000   仓库1   

00000001   004   连接线   1000   仓库1   

00000002   002   用户盒   100   仓库1   

00000002   003   膨胀螺丝   100   仓库1   

00000003   002   用户盒   1   仓库1   

00000003   006   -7线   1   仓库1   

00000001   006   -7线   10000   仓库1   



出库单

出库编号   库房   施工班组   出库日期   

00000001   仓库1   施工二组   2012-12-18   

00000002   仓库1   施工二组   2012-12-18   

00000003   仓库1   施工二组   2012-12-18   

00000004   仓库1   施工三组   2012-12-18   

00000005   仓库1   施工二组   2012-12-20   

00000006   仓库1   施工二组   2012-12-20   

00000007   仓库1   施工二组   2012-12-20 

出库明细:

出库编号   编码   名称   数量   库房   

00000001   002   用户盒   2   仓库1   

00000001   004   连接线   3   仓库1   



00000001   004   连接线   3   仓库1   

00000002   004   连接线   1   仓库1   

00000002   002   用户盒   2   仓库1   

00000003   002   用户盒   1   仓库1   

00000005   004   连接线   1   仓库1   

00000006   004   连接线   1   仓库1   

00000007   002   用户盒   1   仓库1   

00000004   002   用户盒   9   仓库1   

00000004   004   连接线   8   仓库1   

 现在需要查询出“目录”中各个器材在 “仓库1”中,日期为‘2012-12-18’,这一天的入库量、出库量、以及库存量

达到以下显示效果:

编码   名称   入库量 出库量 库存量
002   用户盒   100    100    200

003   膨胀螺丝  100    100    200

004   连接线   100    100    200

006   -7线     0       0        53

007   放大器    0       0       0



[解决办法]

;with aa
as(
select 编码, 数量 , 库房 from 入库明细 uion
select 编码, 数量 * (-1) as 数量 , 库房 from 出库明细)

select 库存.编码 , 库存.名称 , sum(case when aa.数量>0 then aa.数量 else 0 end) as 入库量,
sum(case when aa.数量<0 then aa.数量 else 0 end) as 出库量 , sum(库存.数量) + sum(aa.数量) as 库存量 from 库存 join aa on 库存.仓库 = aa.库房 and 仓库.编码 = aa.编码   

[解决办法]
在“[之前库存量] = ...”之前再加上一句:
[期初结存] = MAX(ISNULL(B.数量,0)) 
+ SUM(ISNULL([出库量_之后],0)) - MAX(ISNULL([入库量_之后],0)) 
+ SUM(ISNULL([出库量_当天],0)) - MAX(ISNULL([入库量_当天],0))
+ SUM(ISNULL([出库量_之前],0)) - MAX(ISNULL([入库量_之前],0)),

热点排行