【发布时间】:2020-02-23 00:04:09
【问题描述】:
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,则查询应返回在其contacts' 键中包含90144 的每一行,如示例中所示。我怎么能做到这一点?提前致谢。
【问题讨论】:
-
SELECT true WHERE '90144' IN ( SELECT json_object_keys('{"90144": 0, "89915": 0}'::json))-- 是的
标签: postgresql set-returning-functions