【问题标题】:how to unnest a json string array on redshift [duplicate]如何在redshift上取消嵌套json字符串数组[重复]
【发布时间】:2020-07-03 02:05:01
【问题描述】:
我在 Redshift 表中有一个称为流派的字段。它以字符串的形式存储,而不是以 JSON 数组的形式存储,因为 redshift 没有提供这种功能。
[{"id": 27, "name": "Horror"}, {"id": 878, "name": "Science Fiction"}]
我想提取元素 - 'id' 和 'name' 并将其转储到另一个表格中,格式如下。我该怎么做?
【问题讨论】:
标签:
sql
json
amazon-redshift
【解决方案1】:
@botchniaque,@mangusta
感谢大家的帮助,我就是这样做的
WITH exploded_array AS (
SELECT
id AS movie_id,
json_extract_path_text( JSON_EXTRACT_ARRAY_ELEMENT_TEXT(genres, seq.i) , 'id' ) AS id ,
json_extract_path_text( JSON_EXTRACT_ARRAY_ELEMENT_TEXT(genres, seq.i) , 'name' ) AS name
FROM movies_staging, seq_0_to_100 AS seq
WHERE seq.i < JSON_ARRAY_LENGTH(genres)
)
SELECT *
FROM exploded_array;