gpt4 book ai didi

sql-server - 按日期计算滚动差异的 SQL 查询

转载 作者:行者123 更新时间:2023-12-04 02:22:26 26 4
gpt4 key购买 nike

我似乎无法完全解决这个问题。

我正在使用 MS SQL Management Studio 2008。

我有一张 table (实际上有几张),但让我们保持简单。该表包含每个项目 (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

我只需要 Select Query 返回这个:

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 描述和价格)。

非常感谢大家的时间

KV

最佳答案

试试这个。使用相关子查询查找rolling difference

CREATE TABLE #tem
(SKU INT,DataDate DATETIME,Web_qty INT)

INSERT #tem
VALUES( 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)

SELECT *,
Web_qty - (SELECT Web_qty
FROM #tem a
WHERE a.sku = b.SKU
AND a.DataDate = Dateadd(dd, -1, b.DataDate)) Roll_diff
FROM #tem b

关于sql-server - 按日期计算滚动差异的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26988679/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com