0
私は以下のJSONをjsonb型のカラムに格納しています。私は、外側の配列の2番目の要素を照会し、 'cid'列の値を持つすべての行を 'CID1'としてフィルターしたいと思います。PostgreSQL JSONBカラムでのフィルタリングが機能しない
{"root":[[
{"cid":"CID1","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID1","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID1","Display":"User Three","FName":"User","LName":"Three"},
{"cid":"CID2","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID2","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID2","Display":"User Three","FName":"User","LName":"Three"}
],
[
{"cid":"CID1","Display":"User One","FName":"Userfff","LName":"One"},
{"cid":"CID1","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID1","Display":"User Three","FName":"User","LName":"Three"},
{"cid":"CID2","Display":"User One","FName":"User","LName":"One"},
{"cid":"CID2","Display":"User Two","FName":"User","LName":"Two"},
{"cid":"CID2","Display":"User Three","FName":"User","LName":"Three"}
]]}
私は次のクエリを書いて、JSONオブジェクトとして二番目の配列からすべての行を取り出すことに成功した、私はそれらをフィルタリングしようとすると、しかし、私は
42703エラーを取得している:列を " filterinは、」私は列でフィルタリングすることができていますように、私は次のクエリでは何を修正する必要があり
select jsonb_array_elements((ARRAY(select jsonb_array_elements(msg->'root') ele))[2]::jsonb) filterin
from js
where filterin->>'cid'='CID1';
存在しないのですか?
は完全に働いた、おかげで@Sami – puneet
@Samiは、あなたがjsonb列にGINインデックスを置くことは良いだろうと思いますか? – puneet