如何从雪花中的json对象数组中选择数据

时间:2021-05-13 22:19:10

标签: snowflake-cloud-data-platform

我拥有的数据:

<头>
ID 价值
1 [{"code": "SM", "place": "San Mateo, CA, USA"},{"code": "IND", "place": "Indianapolis, IN, USA"}]< /td>

我希望它被转换为:

<头>
ID 价值
1 美国加利福尼亚州圣马特奥;美国印第安纳波利斯

这是我所能得到的(表格只是一个样本)

SELECT 
INDEX, 
PARSE_JSON(f.THIS),
ARRAY_TO_STRING(PARSE_JSON(f.THIS),';')
FROM TABLE(FLATTEN(input => parse_json('[{"code": "SM","place": "San Mateo, CA, USA"},{"code": "IND","place": "Indianapolis, IN, USA"}]'))) f LIMIT 1;

1 个答案:

答案 0 :(得分:1)

你很接近:

SELECT 
seq, 
listagg(f.value:place, '; ')
FROM TABLE(FLATTEN(input => parse_json('[{"code": "SM","place": "San Mateo, CA, USA"},{"code": "IND","place": "Indianapolis, IN, USA"}]'))) f 
group by seq

-- San Mateo, CA, USA; Indianapolis, IN, USA
相关问题