首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找数组中的键和返回位置

查找数组中的键和返回位置
EN

Stack Overflow用户
提问于 2020-03-19 22:25:39
回答 1查看 18关注 0票数 0

下面的json对象存储在jsonb列中

代码语言:javascript
运行
复制
{
  "msrp": 6000,
  "data": [
    {
      "supplier": "a",
      "price": 5775
    },
    {
      "supplier": "b",
      "price": 6129
    },
    {
      "supplier": "c",
      "price": 5224
    },
    {
      "supplier": "d",
      "price": 5775
    }
  ]
}

有几件事我试着去做,但完全被困住了:

  1. 检查该数组中是否存在供应商。所以如果我在查“供应商”:"e“在这里。这是我试过但没有成功的地方。"where @>‘{“@>”{“供应商”:在返回结果之前,如果我做了select *,那么在返回结果之前,向每个数组中注入一个"price_diff“,这样我就可以看到msrp和供应商价格之间的差异。

{“供应商”:"d",“价格”:5775,"price_diff":225 }

EN

回答 1

Stack Overflow用户

发布于 2020-03-20 02:15:57

@>‘{“供应者”:"e"}’

您有一个名为data的列吗?不能仅仅将JSONB键名视为列名。

遏制从根部开始。

代码语言:javascript
运行
复制
colname @> '{"data":[{"supplier": "e"}]}'

不过,您可以动态地重新定义“root”:

代码语言:javascript
运行
复制
colname->'data' @> '[{"supplier": "e"}]'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60765933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档