У меня были orders
стол с orders
. items
как JSON
пример orders
. ячейка items
:
{ "10": { "name": "item 1", "step": "1", "price": "140", "amount": "4", "category": "9" }, "24": { "name": "item 2", "step": "1", "price": "6.2", "amount": "1", "category": "5" }, "35": { "name": "item 3", "step": "1", "price": "2.9", "amount": "3", "category": "1" }, "37": { "name": "item 4", "step": "1", "price": "3.9", "amount": "2", "category": "9" } }
{ "10": { "name": "item 1", "step": "1", "price": "140", "amount": "4", "category": "9" }, "24": { "name": "item 2", "step": "1", "price": "6.2", "amount": "1", "category": "5" }, "35": { "name": "item 3", "step": "1", "price": "2.9", "amount": "3", "category": "1" }, "37": { "name": "item 4", "step": "1", "price": "3.9", "amount": "2", "category": "9" } }
Я хочу извлечь только те элементы, которые в определенной категории
ожидаемый результат извлечения только предметов с категорией «9»:
{ "10": { "name": "item 1", "step": "1", "price": "140", "amount": "4", "category": "9" }, "37": { "name": "item 4", "step": "1", "price": "3.9", "amount": "2", "category": "9" } }
{ "10": { "name": "item 1", "step": "1", "price": "140", "amount": "4", "category": "9" }, "37": { "name": "item 4", "step": "1", "price": "3.9", "amount": "2", "category": "9" } }
до сих пор мне удалось получить все orders
. ячейка items
где есть элемент с категорией = "9"
SELECT `id`, JSON_EXTRACT(`orders`.`items`, '$') FROM `orders` WHERE JSON_CONTAINS( JSON_EXTRACT(`orders`.`items`, '$.*.category'), '"9"' )
SELECT `id`, JSON_EXTRACT(`orders`.`items`, '$') FROM `orders` WHERE JSON_CONTAINS( JSON_EXTRACT(`orders`.`items`, '$.*.category'), '"9"' )