Postgresql 在Postgres中的jsonb_数组_元素_文本函数中使用SELECT sub查询
我有以下疑问Postgresql 在Postgres中的jsonb_数组_元素_文本函数中使用SELECT sub查询,postgresql,subquery,psql,jsonb,Postgresql,Subquery,Psql,Jsonb,我有以下疑问 SELECT DISTINCT ON (user_id) user_id, timestamp FROM entries WHERE user_id in (1,2) AND entry_type IN( SELECT jsonb_array_elements_text( SELECT entry_types FROM users INNER JOIN orgs ON org_id = orgs.id WHERE users.id = 1
SELECT DISTINCT ON (user_id) user_id, timestamp
FROM entries
WHERE user_id in (1,2)
AND entry_type IN(
SELECT jsonb_array_elements_text(
SELECT entry_types
FROM users INNER JOIN orgs
ON org_id = orgs.id
WHERE users.id = 1
)
);
我在select或其附近遇到语法错误
“选择”第1行或其附近出现语法错误:。。。输入(选择
jsonb_数组_元素_文本(select)
字段条目_types是一个JSONB字段,因此我试图将其转换为文本,以便在WHERE in子句中使用它
PostgreSQL 13.0
此子查询位于jsonb_数组_元素_文本中
SELECT entry_types
FROM users INNER JOIN orgs
ON org_id = orgs.id
WHERE users.id = 1
返回单个JSONB条目,如下所示:
entry_types
--------------------------------------------
["type1", "type2", "type3"]
我只是尝试使用返回的文本值数组作为WHERE IN子句中的条件。语法错误似乎指向其他地方,因此可能我错了,但我看到的问题是子查询周围缺少一对括号:
jsonb_array_elements_text((SELECT ...))
请提供示例数据、所需结果以及查询目的的解释。这并不明显。@GMB我添加了一些细节,请告诉我是否足够。