jsonbオブジェクトフィールドの比較を含む特定の条件に一致するテーブルから行を選択する必要があります。jsonb配列内の特定のオブジェクトをターゲットにする
以下の例では、値が配列のオブジェクトで指定されている最小値/最大値の範囲内の行のみを取得したいとします。array_of_objects
のオブジェクトが含まれている場合は、最小/最大比較を使用)value
、私はその行が必要です。与えられた例のために、私は値8
と22
と行のみを取得したいので、
CREATE TABLE test_table (
id serial,
value int,
array_of_objects jsonb[]
);
INSERT INTO
test_table (value, array_of_objects)
VALUES
(8, ARRAY ['{"min":5,"max":15}', '{"min":4,"max":18}']::jsonb[]),
(6, ARRAY ['{"min":12,"max":18}', '{"min":19,"max":22}']::jsonb[]),
(22, ARRAY ['{"min":16,"max":18}', '{"min":34,"max":47}']::jsonb[]);
。
MX:18 22少ないし、とてもここにも、なぜ22?配列のすべての要素に対して適用される条件がありますか? –
私の答えを見てください - "value"列の配列のすべての要素にmin