微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MSSQL 查询通过在接下来的 12 个月内划分来递延收入

如何解决MSSQL 查询通过在接下来的 12 个月内划分来递延收入

希望你保持安全! .我需要将会员销售收入推迟 12 个月。我的表有 2 列:

1. SaleDate.
2. Revenue

我需要将收入分成 12 个月。例如,如果会员费用为 1200 美元并在 6 月 17 日售出,那么每个月将获得 100 美元,并且日期需要像这样

Date           Revenue
June           100
july           100
August         100
September      100

依此类推,直到五月。

所以它基本上是我们所有收入除以未来 12 个月的总和。我们每个月都会做同样的事情。任何帮助将不胜感激。

解决方法

也许带有 CROSS JOIN

示例

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。