雪花需要根据列值在循环中运行sql插入

时间:2019-12-10 16:45:32

标签: sql snowflake-data-warehouse snowsql

我有一张桌子,如下表

id           date.         no_of Days
12           12-03-1999    30
13           12-03-1999    7
14           12-03-1999    22
15           12-03-1999    12

我需要创建另一个表,其中一个字段为date_increment 它将基于给定的日期增加到基于no_of_days的1天。 输出将如下所示

id           date.         no_of Days.  date_increment
12           12-03-1999    30           12-03-1999
12           12-03-1999    30           13-03-1999
12           12-03-1999    30           14-03-1999
..           .....         ..           till 30 days
13           12-03-1999    7            12-03-1999
13           12-03-1999    7            13-03-1999
13           12-03-1999    7            14-03-1999
..           ...           ..           till 7 day
14           12-03-1999    22
15           12-03-1999    12

我正在为雪花编写此查询,该查询不支持循环或动态查询。 有人可以建议吗?

即使我使用其他IDE(例如python),也不确定如何解决此问题。

1 个答案:

答案 0 :(得分:4)

一种方法是使用generator()

select t.*, date + (n - 1) * interval '1 day'
from t join
     (select seq4() as n
      from table(generator(rowcount => 100)) g
     ) n
     on n.n <= t.no_of_days;