SELECT * from users where server_id=$1 and $2=ANY(json_object_keys(contacts));
ERROR: set-returning functions are not allowed in WHERE
contacts
— это столбец json
, и мне нужно найти строки, в ключах которых contacts
есть $2
.
Пример столбца контактов: {"90144": 0, "89915": 0}
Если $2
равно 90144
, запрос должен возвращать каждую строку, содержащую 90144
в ключах contacts
', как в примере. Как я мог этого добиться? Заранее спасибо.
SELECT true WHERE '90144' IN ( SELECT json_object_keys('{"90144": 0, "89915": 0}'::json))
-- верно - person clamp   schedule 23.02.2020