У меня есть таблица с именем wp_bookly_customer_appointments
Она выглядит так:
+----+-----------------------------------------+
| id | custom_fields |
+----+-----------------------------------------+
| 40 | [ |
| | {"id":16385,"value":"Man of Steel"}, |
| | {"id":4121,"value":"Spiderman"}, |
| | {"id":78036,"value":"Superman"}, |
| | {"id":8075,"value":"Batman"} |
| | ] |
+----+-----------------------------------------+
| 41 | [ |
| | {"id":16385,"value":"The Incredibles"}, |
| | {"id":4121,"value":"The Mask"}, |
| | {"id":78036,"value":"X-Men"}, |
| | {"id":8075,"value":"Ant-man"} |
| | ] |
+----+-----------------------------------------+
С этим запросом БД:
SELECT JSON_UNQUOTE(JSON_EXTRACT(custom_fields,'$[1].value')) AS value FROM `wp_bookly_customer_appointments`
Он возвращает правильные значения, например:
+-----------+
| value |
+-----------+
| Spiderman |
+-----------+
| The Mask |
+-----------+
Я хочу запросить на основе id
из 4121
вместо позиции в массиве, потому что 4121
не всегда находится на второй позиции.
Как я могу изменить свой запрос для достижения этого?