展平未知长度的 JSON 数据 Redshift SQL

问题描述 投票:0回答:1

我有一个长度未知的 json 列

[
    {
        "customer_id": 90,
        "order_id": abc1,
        "subscription_id": ewuq3,
    },
    {
        "customer_id": 90,
        "order_id": abc1,
        "subscription_id": dsvs7,
    },
    {
        "customer_id": 90,
        "order_id": abc1,
        "subscription_id": lnf4,
    }
]

json 列的长度未知。客户可以购买 10 个订阅,甚至 1 个。 目前数据处于订单级别。因此每个订单号 1 行。 我想要订阅级别的数据。 Redshift中有没有自动执行此操作的功能?我知道 json_extract_path_text。 但这仅适用于 1 个订阅。

sql amazon-redshift
1个回答
0
投票

您想要取消 json 中数组的嵌套。为此,您需要将 json 转换为“超级”数据类型(如果它还不是超级)。 AWS 有一个关于取消嵌套的好文档,位于 https://docs.aws.amazon.com/redshift/latest/dg/query-super.html

我之前在这里写过这个答案 - UNNEST Redshift 中的超级数据

如果您需要帮助来实现此目的,请联系我们。

© www.soinside.com 2019 - 2024. All rights reserved.