Sql server MSSQL查询通过在接下来的12个月内除以来延迟收入
希望你平安。我有一个要求,将会员销售收入推迟12个月。我的表格有两列:Sql server MSSQL查询通过在接下来的12个月内除以来延迟收入,sql-server,date,revenue,Sql Server,Date,Revenue,希望你平安。我有一个要求,将会员销售收入推迟12个月。我的表格有两列: 1. SaleDate. 2. Revenue 我需要把收入分成12个月。例如,如果会员费为1200美元,在6月17日售出,则每个月将获得100美元,日期需要如下所示 Date Revenue June 100 july 100 August 100 September 100 一直到五月 所以基本上是我们所有收入除以未来12个月的总和
1. SaleDate.
2. Revenue
我需要把收入分成12个月。例如,如果会员费为1200美元,在6月17日售出,则每个月将获得100美元,日期需要如下所示
Date Revenue
June 100
july 100
August 100
September 100
一直到五月
所以基本上是我们所有收入除以未来12个月的总和。我们每个月都会做同样的事情。任何帮助都将不胜感激。可能需要
交叉连接
示例
Declare @YourTable Table ([SaleDate] date,[Revenue] money)
Insert Into @YourTable Values
('2020-06-17',1200)
Select [Date] =dateadd(month,n,[SaleDate])
,[Revenue] =A.Revenue/12
from @YourTable A
Cross Join ( values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11) ) B(n)
返回
Date Revenue
2020-06-17 100.00
2020-07-17 100.00
2020-08-17 100.00
2020-09-17 100.00
2020-10-17 100.00
2020-11-17 100.00
2020-12-17 100.00
2021-01-17 100.00
2021-02-17 100.00
2021-03-17 100.00
2021-04-17 100.00
2021-05-17 100.00
在提问时,您需要提供一个最小的可复制示例。请参考以下链接:请提供以下内容:(1)DDL和示例数据填充,即创建表和插入T-SQL语句。(2) 您需要做什么,即逻辑和代码尝试在T-SQL中实现它。(3) 所需输出,基于上述#1中的样本数据。(4) 您的SQL Server版本(选择@@version;)和您的尝试,您应该已经做了一些研究并尝试了一些东西。我感谢您的反馈,并将确保下次添加更多详细信息并解释我所做的工作。谢谢谢谢@John,真是太棒了。“我感谢您在这个问题上所做的工作和花费的时间。”路易莎总是乐于帮助