【发布时间】:2013-01-01 14:02:25
【问题描述】:
我已经阅读了很多关于过滤 SQL 查询的主题,但似乎没有一个适用于我的案例,所以我需要一些帮助。我在 SQL 表上有以下数据。
Date item quantity moved quantity in stock sequence
13-03-2012 16:51:00 xpto 2 2 1
13-03-2012 16:51:00 xpto -2 0 2
21-03-2012 15:31:21 zyx 4 6 1
21-03-2012 16:20:11 zyx 6 12 2
22-03-2012 12:51:12 zyx -3 9 1
所以这是仓库中移动的数量,问题出在前两行同时是接收和返回,因为我正在尝试进行查询,以在给定时间为我提供库存的所有项目。我使用max(date),但我没有得到正确的结果数量。
【问题讨论】:
-
你用的是什么关系型数据库?
-
听起来你想让
SUM("quantity moved")得到你当时的总量? -
这是一个非常糟糕的设计。如果您可以更改架构,我建议您跟踪每个项目的移动,然后您可以查询移动了多少以及您有多少库存。
-
嗯,它有点复杂,我不能使用 sum,因为程序有另一种控制数量信号的方法,它可以是正数,但仍然会减少数量。跨度>
-
SQL-Server,哪个版本? 2005、2008、2008R2、2012?
标签: sql sql-server filter max