【发布时间】:2018-12-12 21:45:35
【问题描述】:
我有一个棘手的查询,它试图找到将 JSON 数组列表与列中 JSON 值列表进行比较的匹配项
带有“关键字”列的“事物”表将包含以下内容:
'["car", "house", "boat"]'::JSONB
查询将包含以下值:
'["car", "house"]'::JSONB
我想查找列表中同时包含“汽车”和“房屋”的所有行。这是我(大部分)微弱的尝试:
SELECT
*
FROM
"Things"
WHERE
"Keywords"::JSONB ?| ARRAY(
SELECT * FROM JSONB_ARRAY_ELEMENTS('["house","car"]'::JSONB)
)::TEXT[]
此外,在索引方面,我假设添加 GIST 索引将是我的最佳选择。
【问题讨论】:
标签: json postgresql jsonb