首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何迭代“插入{table} SELECT”.约会范围?

如何迭代“插入{table} SELECT”.约会范围?
EN

Stack Overflow用户
提问于 2020-05-21 13:09:20
回答 1查看 162关注 0票数 0

我正在构建一个数据仓库时间点(TPIT)表。为此,我需要迭代一个日期列表,并为每个日期插入行。以下是'2020-08-19'的SQL日期。我需要遍历从2000年到今天的所有日期。

在雪花中使用SQL实现这一点的最佳方法是什么?

我可以用Python来完成这个任务,但是我正在寻找一种SQL唯一的方法来完成这个任务,这样它就可以嵌入到一个每天运行的SQL刷新脚本中。

谢谢。

代码语言:javascript
复制
INSERT
    INTO
    MEMBERSHIP_TPIT
SELECT
    MEMBERSHIP_HUB.MEMBERSHIP_HASHKEY AS MEMBERSHIP_HASHKEY,
    '2020-08-19' AS SNAPSHOT_DATE,
    MEMBERSHIP_SAT.LOAD_DATE AS LOAD_DATE
FROM
    MEMBERSHIP_HUB INNER MEMBERSHIP_SAT ON
    (MEMBERSHIP_HUB.MEMBERSHIP_HASHKEY = MEMBERSHIP_SAT.MEMBERSHIP_HASHKEY
    AND '2020-08-19' BETWEEN START_DATE AND COALESCE(END_DATE,
    '9999-12-31'));
EN

回答 1

Stack Overflow用户

发布于 2020-05-21 16:04:34

您可以使用下面的查询以及子句,并在From子句中将DATE_RANGE作为表引用,并引用MY_DATE代替“2020-08-19”。

代码语言:javascript
复制
WITH DATE_RANGE AS (
  SELECT DATEADD(DAY, -1*SEQ4(), CURRENT_DATE()) AS MY_DATE
    FROM TABLE(GENERATOR(ROWCOUNT => (365000) )) where my_date >='01-Jan-2000'
 ) 
SELECT * FROM DATE_RANGE
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61935266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档