【问题标题】:how to write a postgresql query to fetch field value inside array of json data如何编写一个postgresql查询来获取json数据数组中的字段值
【发布时间】:2016-12-29 08:03:37
【问题描述】:

以下数据是postgres db中的示例json数据

    {
        "RA1":{
            "RaItems": [
                {
                    "a": 1,
                    "b": 2
                },
                {
                    "a": 11,
                    "b": 22
                },
                {
                    "a": 111,
                    "b": 222
                }
            ]
        }
}

我尝试我的查询在我的选择子句中只获取 a 的字段值: select data->'RA1'->RaItems'->0->'a' from table;

但我需要一个 postgressql 查询来获取所有 a,尽管动态数组长度如下所示: 1,11,111

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    您需要使用JSONB_ARRAY_ELEMENTS 函数,然后将整个内容包装在外部查询中

    SELECT d->'a' FROM (
       SELECT JSONB_ARRAY_ELEMENTS (bada->'RA1'->'RaItems') AS d FROM mytable
    ) AS subq
    

    【讨论】:

      猜你喜欢
      • 2021-06-28
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      相关资源
      最近更新 更多