【发布时间】:2014-11-18 07:18:49
【问题描述】:
我似乎无法将这个工作完全满足需要。
我正在使用 MS SQL Management Studio 2008。
我有一张桌子(实际上是几张),但请保持简单。该表包含每个项目 (SKU) 的每日库存数据。
SKU DataDate Web_qty
2 2014-11-17 00:00:00 404
2 2014-11-18 00:00:00 373
2 2014-11-19 00:00:00 1350
66 2014-11-17 00:00:00 3624
66 2014-11-18 00:00:00 3576
66 2014-11-19 00:00:00 3570
67 2014-11-17 00:00:00 9353
67 2014-11-18 00:00:00 9297
67 2014-11-19 00:00:00 9250
我只需要选择查询来返回这个:
SKU DataDate Difference
2 2014-11-17 00:00:00 ---
2 2014-11-18 00:00:00 -31
2 2014-11-19 00:00:00 +977
66 2014-11-17 00:00:00 ---
66 2014-11-18 00:00:00 -48
66 2014-11-19 00:00:00 -6
67 2014-11-17 00:00:00 ---
67 2014-11-18 00:00:00 -56
67 2014-11-19 00:00:00 -47
我不需要 --- 部分,我只是展示了这一点,以提醒人们注意这个事实,因为它是第一个记录,所以无法计算。
我尝试过使用派生表,但它变得有点混乱,我需要使用一个工作示例以便更好地理解它。
如果有人能指出我正确的方向,我相信我可以将其他表格重新组合在一起(即 SKU 描述和价格)。
真的很感谢大家的时间
凯夫
【问题讨论】:
-
对于每个
SKU,Datadate是否总是连续的? -
是的,一旦将 SKU 添加到 SKU 表中,那么即使在此期间该值没有变化,每天也会将一个库存数字添加到库存表中。实际上,我也为定价表这样做。我需要更改它,因为表变得非常大,但更改很少。我需要在一个日期范围内创建价格:)
-
@Jaugar Chang,我明白你现在的意思了!如果您在特定日期有多个 Web_Qty(例如 2014 年 11 月 18 日的两次数量更新),则查询将出错,因为它将返回两个值,并且不知道从 2014 年 11 月 19 日值中减去哪个值。我会在下面的答案中记下以通知其他人。
-
如果一天有多个Web_Qty,你可以在计算差值之前将Web_Qty相加。我担心
Datadate是否不连续,例如11-17、11-19(11-18没有记录)。11-19有什么区别?11-19的 Web_Qty 或11-19和11-17之间的 Web_Qty 差异? -
是的,当然这是此解决方案的另一种可能性...不过我的问题已解决,我没有任何这些问题,将您的查询更改为更新查询并在我的表中添加了一列.现在我在存储我的每日库存数据时即时计算这个,所以实际上不需要再次执行查询。感谢您的帮助,您非常乐于助人,我们对此表示赞赏。
标签: sql-server date