У меня были 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"' )