【发布时间】:2021-02-08 14:15:14
【问题描述】:
我在MySql的一个json列的一个单元格内有以下值:
{
"produttori": [
"8",
"9"
],
"articoli_alternativi": [
"3",
"9"
],
"articoli_accessori": [
"5",
"6",
"7",
"8"
],
"tecnologie": [],
"fornitori": [
"9",
"8"
],
"classificazioni": [
"3",
"4"
]
}
我想做一个查询,根据数组中 fornitori 键处的值的存在来提取数据。
现在我已经尝试过了:
query = 'SELECT nome, formulati_commerciali FROM articolo WHERE JSON_CONTAINS(JSON_EXTRACT(dati, "$.fornitori"), "' + \
value+'", "$")'
哪个打印是:
SELECT name, data FROM articolo WHERE JSON_CONTAINS(JSON_EXTRACT(data, "$.fornitori"), "8", "$")
基本上条件是value ("8") 必须在fornitori 列表内,否则跳过该元素。
不幸的是,查询没有产生任何结果。
我想知道如何在 MySql 中制定这样的查询。我会经常需要它们!
提前致谢!
【问题讨论】:
标签: mysql sql arrays json where-clause