是否可以比较jsonb中的不同字段

问题描述

列类型为 jsonb 的表。

此处json

"weight": {
    "qty": 1112,"unit": {
      "name": "gram"
    }
  },"options": [
    {
      "name": "genus_species","value": {
        "name": "cucumber"
      }
    },{
      "name": "weight","value": {
        "name": "600g"
      }
    },{
      "name": "method","value": {
        "name": "salt"
        }
      }
    },{
      "name": "tm","value": {
        "name": "chudova-marka"
      }
    }
  ]

在此示例中,值“ 1112 ”的“ weight.qty ”不等于“ value.name.600g ”。因此,此记录将返回

P.S。我将“ 数量”转换为字符串,并添加后缀“ g ”以作为字符串进行比较。

所以这里查询没有比较

SELECT 
concat(product.data->'weight'->>'qty','g') AS weight,product.data #>>'{options,value,name}' as n1,1,name}' as n2,2,name}' as n3,3,name}' as n4
FROM product

我需要显示“ weight.qty ”不等于任何“ options.value.name ”的记录。 有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)