#mysql #json
#mysql #json
Вопрос:
У меня есть столбец JSON с именем prices_and_tags, в котором есть значения в массиве JSON:
[{'price' => 100, 'tag' => 'Watch'}, {'price' => 200, 'tag' => 'Book'}]
Если я хочу выполнить поиск по тегам prices_tags, где tag = ‘Watch’ в любом индексе массива, это не работает.
Запрос выглядит следующим образом:
select * from products where prices_and_tags->"$[*].tag" = 'Watch'
это дает 0 результатов.
Но этот запрос работает для первого или второго индекса массива, например:
select * from products where prices_and_tags->"$[0].tag" = 'Watch'
Я ссылался на это: https://dev.mysql.com/doc/refman/5.7/en/json-path-syntax.html для синтаксиса запроса.
Спасибо.
Ответ №1:
Вы пробовали это сделать
select * from products where prices_and_tags->"$.tag[*]" = 'Watch'