Коллеги, прошу помощи, совсем в своей деревне от жизни отстал, не могу разобраться.
Задача - в sql запросе оперирировать данными в строке json (версия базы 5.7 естессно).
Вроде понятно, если в строке просто массив
{"id": "10", "value": "Значение"} то все работает как в документации
mysql> SELECT c, JSON_EXTRACT(c, "$.id"), g
> FROM jemp
> WHERE JSON_EXTRACT(c, "$.id") > 1
> ORDER BY JSON_EXTRACT(c, "$.value");
Но у меня там объект json (поле типа reapetable движка), пример значения (адрес может быть один либо несколько):
{"adres0":{"street":"Невский пр.", "house":"45"},"adres1":{"street":"Рубинштейна ул.", "house":"2"}}
.
Задач несколько:
- в поле WHERE найти совпадения
street с входящим значением
- сделать ORDER BY по house найденного значения улицы
Ну и прочее, смотрю в доку вижу фигу (( Что-то мне подсказывает смотреть в сторону column->>path, но туплю (и как писать в php коде подобный запрос с долларом... совсем стар стал, учиться голова отказывается
SELECT c->'$.name' AS name
P.S. обязательно ли тип поля в базе должен быть JSON для подобных данных? Joomla ведь хранит их как текст (чтобы работало на версиях ниже 5.7)
Заранее благодарен за любую помощь