日期:2014-05-17  浏览次数:20517 次

急求一sql语句,各位大虾帮帮忙啊
本人有一张表Records,该表是由几张表联合查询出来的字段拼接起来的,现在表里有cWhName(仓库名称) ,cInvCode(存货编码) ,cInvName(存货名称),iQuantity(数量),dDate(出库日期),cBusType(入库类型),我现在要根据输入的 “存货编码” 和“出库日期” 来查询该存货 各个仓库 的上月出仓数量和累计出仓数量。

------解决方案--------------------
SQL code
select 
sum( case when convert(char(7),dateadd( month,-1,'出库日期' ),120) = convert(char(7),dDate,120) then iquantity else 0 end ),
sum( iquantity)
from Records where dDate < '出库日期' and cInvCode = '存货编码'

------解决方案--------------------
--上月出仓数量
select cWhName,SUM(iQuantity) from Records
where cInvCode='条件1存货编码' 
and dDate>=convert(varchar(7),DATEADD(MONTH,-1,'条件2出库日期'),120)+'-01'
and dDate<dateadd(month,1,convert(varchar(7),DATEADD(MONTH,-1,'条件2出库日期'),120)+'-01')
group by cWhName
--累计出仓数量
select cWhName,SUM(iQuantity) from Records
where cInvCode='条件1存货编码' 
group by cWhName
如果cBusType(入库类型)“入库”、“出库”的区别,就在where后面加个即可。