【发布时间】:2021-04-21 19:33:03
【问题描述】:
问题:我有一个包含订阅信息的表格,例如:
订阅 ID、间隔(每月/每年)、开始日期、结束日期
在 SQL 中为这些订阅创建一个时间序列的续订直到其结束日期的最佳方法是什么(首选 Snowflake)?
我最初尝试从日期中提取日期,并认为续订日期是每月订阅的那一天,以及年度订阅的同一个月和同一天。存在闰年的问题,或者如果订阅者在 2021 年 1 月 31 日购买,那么 2021 年 2 月 31 日不存在。
我还有一个“日期”表可供我使用,其中有 1 列的日期从 1970 年到 2080 年。
Example:
ID Interval Start Date End Date
123 Monthly 1/30/2021 5/14/2021
456 Annual 3/24/2018 2/14/2021
Result Output:
ID: Interval: Transaction_Date:
123 Monthly 1/30/2021
123 Monthly 2/28/2021
123 Monthly 3/30/2021
123 Monthly 4/30/2021
456 Annual 3/24/2018
456 Annual 3/24/2019
456 Annual 3/24/2020
感谢您的帮助!
【问题讨论】:
-
正确标记你的数据库,它不能同时是两个
-
数字/计数表的理想用例。
-
@stu 您能否快速解释一下如何使用数字/计数表来查找相应的日期值?
标签: sql snowflake-cloud-data-platform