Snowflake table 用多个值替换空值

Snowflake table replace nulls with multiple values

我在 Snowflake 有数据库 table,具有 NULL 值。

id
a01 5
a02 6
b01 6
b04

我需要把它改成这个例子:

id
a01 5
a02 6
b01 6
b04 7
b04 8

我必须用多个值替换 NULLs(有 2 个值:78 - 夏季月份)。因此,我需要从每个 NULL 行中创建两行。

最简单的方法是使用两个单独的语句,一个用于插入额外的行,一个用于更新现有的 NULL 值:

INSERT INTO tab (id, month) 
SELECT id, 8 as month
FROM tab
WHERE month is NULL;

其次是

UPDATE tab 
SET month = 7
WHERE month is NULL;

结果:

id month
a01 5
a02 6
b01 6
b04 7
b04 8

this db<>fiddle