Snowflake SQL:需要将日期脊柱添加到现有表列

Posted

技术标签:

【中文标题】Snowflake SQL:需要将日期脊柱添加到现有表列【英文标题】:Snowflake SQL: Need a Date Spine added to Existing Table Columns 【发布时间】:2021-05-19 03:30:58 【问题描述】:

我有两个单独的表。 Table1 仅包含 1 列,称为 date_spine,它包含从 2021-01-01 到当前日期的所有日期。 表 2 包含不同的 State、Store 列。 我的最终目标是创建一个新表,其中包含 Data Spine 中针对每个唯一状态、存储组合的所有日期。下面是一个简短的例子。我希望 SQL 脚本可以在 Snowflake 中运行。提前谢谢你!

State Store Date_Spine
IL Chicago 2021-01-01
IL Chicago 2021-01-02
IL Chicago 2021-01-03
IL Chicago 2021-01-04
IL Chicago 2021-01-05
MO St Louis 2021-01-01
MO St Louis 2021-01-02
MO St Louis 2021-01-03
MO St Louis 2021-01-04
MO St Louis 2021-01-05

【问题讨论】:

【参考方案1】:

您可以对日历表使用交叉连接方法:

SELECT t1.Date_Spine, t2.State, t2.Store
FROM (SELECT DISTINCT Date_Spine FROM Table1) t1
CROSS JOIN (SELECT DISTINCT State, Store FROM Table2) t2
ORDER BY t2.State, t2.Store, t1.Date_Spine;

【讨论】:

以上是关于Snowflake SQL:需要将日期脊柱添加到现有表列的主要内容,如果未能解决你的问题,请参考以下文章

递增日期 - SQL(雪花)

如何将 SRW 包添加到现有的 Oracle 数据库?

需要将值添加到现有的行和列中

如何以编程方式将数据库添加到现有的 Always On 可用性组 (AOAG)?

如何将 JPA 添加到现有的 Eclipse 项目?

如何将 MFC 支持添加到现有的 Win32 C++ 项目?