库存表,有 
货物名称,货物类型,操作日期,操作类型,数量
螺丝        01       2007-7-1  入库     10
铆钉        02       2007-7-1  出库      -1
钢板        03       2007-5-1  入库      5
.........我想通过一条sql语句查询当月和上月的库存,怎样实现?

解决方案 »

  1.   

    try
    --按照货物名称,货物类型分組
    Select
    货物名称,
    货物类型,
    SUM(Case DateDiff(mm, 操作日期, GetDate()) When 1 Then 数量 Else 0 End) As 上月库存,
    SUM(Case DateDiff(mm, 操作日期, GetDate()) When 0 Then 数量 Else 0 End) As 当月库存
    From
    库存表
    Group By
    货物名称,
    货物类型
      

  2.   

    select month(操作日期),货物名称,sum(数量)
    from 库存表
    group by month(操作日期),货物名称
    where month(操作日期)=month(getdate()) or month(操作日期)=month(getdate())-1
    order by month(操作日期) desc