【发布时间】:2021-03-24 15:02:51
【问题描述】:
我需要帮助计算每日目标值减去第二天差值的值,即对于公司的每个分支机构,都有目标值和销售额值。如果在 01 我达到了我的目标,在 02 目标值会更低(差值在下图中)。
因此,根据下图,如果在第 10 天分行的第 1 天,我的目标是 6129.10,而我卖出了 7397,那么当天的差额将是 -1267.9,那么第 02 天的目标值应该是 6129.10 + ( -1267.9) = 4861.13。如何在 T-SQL 中执行此操作?
Before:
DT ID_FILIAL VL_SALES VL_GOAL VL_DIFFERENCE
01/12/2020 10 7.397,00 6.129,10 -1.267,90
01/12/2020 11 11.129,00 10.322,60 -806,40
01/12/2020 12 23.690,00 20.967,80 -2.722,20
02/12/2020 10 8.403,00 6.129,03 -2.273,97
02/12/2020 11 9.871,00 10.322,58 451,58
02/12/2020 12 20.559,00 20.967,74 408,74
After:
DT ID_FILIAL VL_SALES VL_GOAL VL_DIFFERENCE
01/12/2020 10 7.397,00 6.129,10 -1.267,90
01/12/2020 11 11.129,00 10.322,60 -806,40
01/12/2020 12 23.690,00 20.967,80 -2.722,20
02/12/2020 10 8.403,00 4.861,13 -3.541,87
02/12/2020 11 9.871,00 9.516,18 -354,82
02/12/2020 12 20.559,00 18.245,54 -2.313,46
【问题讨论】:
-
1) 请不要使用图像作为数据,使用格式化文本。如果您想让那些协助您添加 DDL/DML 以创建示例数据的人变得非常容易。 2) 请向我们展示您尝试过并遇到的问题。您可能正在寻找诸如滞后之类的窗口函数。
-
很抱歉,我无法粘贴为格式化文本,我会尝试插入。我尝试在同一张表上使用 JOIN 并使用 ROW NUMBER() 但没有成功,所以我需要一些想法。
-
@DaleK 感谢您的提示,我更新了问题并得到了正确答案。
标签: sql sql-server tsql datetime sum