Postgresの10のフィルタを選択します。私は、下記の表と問い合わせがありますネストされたJSON配列
CREATE TABLE individuals (
uid character varying(10) PRIMARY KEY,
data jsonb
);
SELECT data->'files' FROM individuals WHERE uid = 'PDR7073706'
それは、この構造体を返します。
[
{"date":"2017-12-19T22-35-49","type":"indiv","name":"PDR7073706_indiv_2017-12-19T22-35-49.jpeg"},
{"date":"2017-12-19T22-35-49","type":"address","name":"PDR7073706_address_2017-12-19T22-35-49.pdf"}
]
私はで2つのフィルタを追加することに苦労しています日時。 (!違法な擬似コード)のような:
'タイプ' = "INDIV"
など:
'タイプ' = "INDIV" とMax( '日付')
これはおそらく簡単ですが、私はこのナッツを割ることはできませんし、あなたの助けが必要です!
それはあなたのためにたくさんの提案です。あなたは正しいです、私はテーブルのスキーマを投稿している必要があります、私は質問を更新しました。最初のクエリはうまく機能しますが、2番目の(複雑な)クエリはエラーを受け取ります。 エラー:列 "elem"は存在しません。 :42703文字:223 何が間違っているのを見つけるのを助けてくれますか? – uzla
@uzla:投稿時に列名を変更しました。 'jsonb_array_elements()'のデフォルトの結果カラム名は 'value'です。それを今使っている。 –
ありがとう!できます!そして訂正してくれてありがとう!私は何か新しい毎日を学ぶ:-) – uzla