【发布时间】:2021-07-20 06:41:52
【问题描述】:
我在 Snowflake 中有一个如下所示的表格:
ID | CODES
2 | [ { "list": [ { "item": "CODE1" }, { "item": "CODE2" } ] } ]
我想把它变成:
ID | CODES
2 | 'CODE1'
2 | 'CODE2'
到目前为止我已经尝试过
SELECT ID,CODES[0]:list
FROM MY_TABLE
但这只能让我明白:
ID | CODES
2 | [ { "item": "CODE1" }, { "item": "CODE2" } ]
如何将此列表的每个索引中的每个“项目”元素分解为自己的行,每个 CODE 作为字符串?
更新:这是我与下面的答案同时工作的答案,看起来我们都使用了 FLATTEN:
SELECT ID,f.value:item
FROM MY_TABLE,
lateral flatten(input => MY_TABLE.CODES[0]:list) f
【问题讨论】:
标签: sql arrays json list snowflake-cloud-data-platform