我有一个表,其中包含一个 jsonb data 列,长这样:
data: {
"categories": [
"Category A",
"Category D"
],
"something": "dsa",
}
我想查询那些在类别数组中存在一个或多个字符串(不是空的交集)的行。
假设我们要检查的这些字符串是“类别A”和“类别B”。
这样的查询应该是什么样子?
这里有一个查询执行了类似的操作,只不过它检查所有提供的字符串是否存在于类别数组中:
SELECT *
FROM table
WHERE data->'categories' @> '["Category A", "Category B"]'
我需要这个查询至少匹配一个字符串,而不是全部。