sql >> データベース >  >> RDS >> PostgreSQL

json列のネストされた値の行をフィルタリングするにはどうすればよいですか?

    クエリは終了しました。 json_each() 重要な機能です。またはjsonb_each() jsonbの場合 。いくつかの改善点:

    SELECT *
    FROM   things t
    WHERE  EXISTS (
       SELECT FROM json_each(t.blueprint) b
       WHERE  b.value->>'name' ILIKE 'azamund'
       );
    

    古い sqlfiddle
    db <> fiddle こちら

    JSON配列の代替

    JSON配列に関する私の関連する回答はすでにご覧になっています:

    ネストされたJSONオブジェクトのクエリは同じように単純に見えますが、優れたインデックスサポートがあります アレイの場合:

    Postgres12のSQL/JSONを使用すると、よりシンプルで効率的になる可能性があります...



    1. CentOS7でpostgresqlサービスを開始できません

    2. CSVにエクスポートし、postgresでGZIPを使用して圧縮する

    3. 違反-親キーが見つかりません02291。00000-整合性制約

    4. PowerShell を使用してローカル SQL Server に Windows ユーザーを追加する