私は、jsonb列のIDを検索するクエリを持っています。配列には多数のIDが含まれています。PostgreSQL - jsonbキーを1つの列に返します
は、私はこの
id | act | act_id | from_ids | object_ids | post_date
2 post 1 {"2":"1494308197","3":"1494308198","4":"1494308199"} {"items":["104564"]} 1494308197
そして、それは2と3を見つけしかし、どのように私はそれが見つけたものを返すことができるため、クエリが行を返します。この
SELECT an.*
FROM activity_network an
WHERE an.from_ids ?| ARRAY['2','3'];
ようなクエリのようなデータを持っていると言いますそれは自分の列です。その結果、テキストやJSON形式で2,3などの結果が返されます。
私はこの
SELECT an.*, jsonb_each_text(from_ids) b
FROM activity_network an
WHERE an.from_ids ?| ARRAY['2','3'];
を試みたが、それは私が検索した内容である2及び3の両方を含有するB列とABカラム各値2を有するもの、3と4と3列Iは、1行が欲しいを作成に。
これは可能ですか?
私が探している例の結果。最後の列に気づく。私はデモのために区切られた列としてそれを置く。それは私が使用できるどんな形式でもかまいません。
2 | post | 1 | {"2":"1494308197","3":"1494308198","4":"1494308199} | {"items":["104564"]} | 1494308197 | 2,3}
あなたはキー2と3だけを使ってjsonを表示したいと思っていますが、キー4を右に押していますか? –
はい、私は検索するIDの配列を持っています。 jsonbフィールドにも4というキーが含まれていますが、この例では2と3のレコードがクエリで見つかったidsを知りたいだけです。 –
@VaoTsun期待される結果の例を追加しました。 –