如何在Redshift中Unpivot JSON数组生成多行关联记录
解决方案
在Redshift中,你可以结合JSON_PARSE和UNNEST函数实现JSON数组的展开,同时提取嵌套的customer_id字段,具体SQL语句如下:
SELECT t.id, JSON_EXTRACT_PATH_TEXT(item, 'customer_id')::INT AS customer_id FROM your_table_name t, UNNEST(JSON_PARSE(t.items)) AS item;
关键说明:
JSON_PARSE(t.items):将items列的字符串格式JSON数组转换为Redshift可识别的JSON数组类型。UNNEST(...) AS item:把JSON数组中的每个元素拆分为单独行,每个元素对应一条记录。JSON_EXTRACT_PATH_TEXT(item, 'customer_id')::INT:从单个JSON对象中提取customer_id的文本值,再转换为整数类型(按需使用)。
执行前将your_table_name替换为你的实际表名即可。
内容的提问来源于stack exchange,提问作者rholdberh
相关产品推荐
相关产品推荐

