我有查詢在jsonb列中搜索id,數組可以包含很多id。PostgreSQL - 在一列中返回jsonb鍵
說我有這樣的
id | act | act_id | from_ids | object_ids | post_date
2 post 1 {"2":"1494308197","3":"1494308198","4":"1494308199"} {"items":["104564"]} 1494308197
而且這樣
SELECT an.*
FROM activity_network an
WHERE an.from_ids ?| ARRAY['2','3'];
查詢,因爲它發現2和3。但是,我怎麼能返回它所發現的查詢將返回的行數據在它自己的專欄中。這樣它就可以返回2,3個文本或json格式或類似的結果。
我嘗試這樣
SELECT an.*, jsonb_each_text(from_ids) b
FROM activity_network an
WHERE an.from_ids ?| ARRAY['2','3'];
但是,以ab柱創建3行每一個具有值2,3和4。我想1行與含B柱既2和3,其是我搜索的內容上。
這可能嗎?
我正在尋找的示例結果。注意最後一列。我把它作爲列進行演示分隔。它可以是我可以使用的任何格式。
2 | post | 1 | {"2":"1494308197","3":"1494308198","4":"1494308199} | {"items":["104564"]} | 1494308197 | 2,3}
你想告訴你只有鍵2和3的JSON,省略鍵4 - 對嗎? –
是的,所以例如我有一個我搜索的ID數組,這種情況是2和3, jsonb字段也包含4的密鑰。但我只想知道查詢找到的記錄在這個例子中是2和3. –
@VaoTsun我添加了一個預期的結果示例。 –