Получить значение, найденное по идентификатору JSON данные SQL - PullRequest
0 голосов
/ 17 июня 2020

У меня есть таблица с именем 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 не всегда находится на второй позиции.

Как я могу изменить свой запрос для достижения этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...