加入jsonb字段的查询

时间:2016-09-20 23:09:19

标签: postgresql left-join jsonb

任何人都可以帮我解决带有jsonb字段的表的连接查询吗?

如果我有两个表,每个表都有一个jsonb列[{ "account-id":"c3ff14f9-b9ce-4daf-930b-3500e0efbdc9", "name": "foo" }...] ,我需要运行一些连接查询。

假设每个表中的account-balances字段都有与此类似的行

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

TelaRBC

ArrayList

public class TelaRBC {

    private ArrayList<String> dadosList; //the ArrayList of selected values

    public TelaRBC(ArrayList<String> theList){ 
        this.dadosList = theList;
        //... remainder of the constructor omitted
    }
    //.. remainder of the TelaRBC class implementation omitted
}

您可以看到表格中的数据通过“account-id”属性关联。 现在我需要找到所有具有相应余额的帐户&gt; 0

1 个答案:

答案 0 :(得分:2)

以下内容应该这样做:

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