У меня есть столбец типа jsonb[]
(массив Postgres из jsonb
объектов), и я хотел бы выполнить SELECT для строк, где критерии удовлетворяются хотя бы для одного из объектов. Что-то вроде:
-- Schema would be something like
mytable (
id UUID PRIMARY KEY,
col2 jsonb[] NOT NULL
);
-- Query I'd like to run
SELECT
id,
x->>'field1' AS field1
FROM
mytable
WHERE
x->>'field2' = 'user' -- for any x in the array stored in col2
Я посмотрел на ANY
и UNNEST
, но не совсем понятно, как этого добиться, поскольку вы не можете запустить unnest
в предложении WHERE
, Я также не знаю, как указать, что я хочу field1
от соответствующего объекта.
Нужна ли мне таблица WITH
со значениями, расширенными для объединения? И как бы я достиг этого и сохранил id
из другого столбца?
Спасибо!