加入对 jsonb 字段的查询

Join queries for jsonb fields

任何人都可以帮我用 jsonb 字段连接查询 tables 吗?

如果我有两个 table 并且每个都有一个 jsonb 列 value 我需要 运行 一些连接查询。

假设每个 table 中的 value 字段都有与此类似的行

accounts

[{
      "account-id":"c3ff14f9-b9ce-4daf-930b-3500e0efbdc9",
      "name": "foo"
  }...]

account-balances

[{
    "account-id": "c3ff14f9-b9ce-4daf-930b-3500e0efbdc9",
    "amount": 31415926
}...]

您可以看到 tables 中的数据是通过 "account-id" 属性 关联的。 现在我需要找到所有相应余额 > 0 的帐户。

像下面这样的事情应该做:

SELECT *
FROM accounts JOIN "account-balances"
              ON accounts.value->'account-id'="account-balances".value->'account-id'
WHERE ("account-balances".value->>'amount')::integer>0;