如何使用Access SQL查询来跟踪库存组成?

时间:2014-07-26 12:28:55

标签: sql ms-access

假设我有一个我已获得/丢弃的库存清单:

Date       Quantity    Item
1/1/2000      10      Apple
2/2/2000       5      Orange
21/10/2000     1      Banana
4/1/2001       2      Apple
8/8/2000      -3      Orange

我现在想生成一个查询,可以生成每个时间点的橙子,香蕉和苹果的数量:

Date       Quantity    Item
1/1/2000      10      Apple
2/2/2000       5      Orange
21/10/2000     1      Banana
4/1/2001      12      Apple
8/8/2000       2      Orange

Access中是否可以这样?我很难过,也不知道从哪里开始。

3 个答案:

答案 0 :(得分:1)

如果您希望按日期查看项目数量,可能需要使用Group BY来尝试此声明。

Select [Date],Count(*) As Quantity, Item from Inventory group by Date,Item

答案 1 :(得分:1)

访问数据库中缺少游标 就像你可以在sql server中编写的t-sql一样 你不能强迫数据库为你做这件事 所以你必须从db中获取数据并在代码中执行该过程

答案 2 :(得分:1)

试试这个:

select curr.[Date],
       curr.[Quantity] as change_in_qty,
       sum(prev.[Quantity])+curr.[Quantity] as total_qty,
       curr.[Item]
  from tblname curr
 inner join tblname prev
    on curr.[Item] = prev.[Item]
 where prev.[Date] < curr.[Date]
 group by curr.[Date],
          curr.[Quantity],
          curr.[Item]
union all
select [Date],
       [Quantity],
       [Quantity],
       [Item]
  from tblname x
 where not exists ( select 1
                    from tblname y
                    where y.[Item] = x.[Item]
                      and y.[Date] < x.[Date] ) z

应该总结给定项目的所有行,其中日期小于当前行上的日期。