【问题标题】: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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多