Bases de Datos - ¿Cómo buscar registros que coincidan con los datos de un JSON en MariaDB?

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 6 puestos en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Cómo buscar registros que coincidan con los datos de un JSON en MariaDB?

Publicado por Hannss (1 intervención) el 04/08/2020 01:17:56
Hola, soy nuevo con el manejo de búsquedas json en mysql/mariadb y no logro obtener resultados de la consulta...

Tengo una tabla llamada "shipping_services" con la siguiente estructura ("sird" es la llave primaria):
sird int(11) NOT NULL,
tarifas json NOT NULL

Esta sería más o menos la estructura de un registro del json tarifas:

1
{"1": {"cf": {"configs": ["3", "400", "3000", "0"], "wSentences": [["1", "1", "1", "1", "1000"], ["3", "2", "2", "1", "7000"]]}, "fr": ["29", "33"], "to": ["30", "62"], "tp": "2"}}

Lo que quiero hacer es encontrar todos los registros en donde dentro de "tarifas", por ejemplo: "to" sea 62 y al mismo tiempo "fr" sea 29.
Si se puede condicionar la consulta a ambos criterios a la vez ("to" y "fr"), sería genial. Si no se puede, con que solo se pueda encontrar "to" también me sirve.

Intenté con: (primero quería probar si podía conseguir resultados en los que coincidiera "to")
1
2
SELECT * FROM shipping_services WHERE JSON_CONTAINS('tarifas', '62', '$.to')
SELECT * FROM shipping_services WHERE JSON_EXTRACT('tarifas' , '$.to')=62
y con json_search, pero no logro que me devuelva algún resultado.

En el path probé poniendo $.to, $.to[*], $[*].to, $[*].to[*], pero no se si va por ahí el problema
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sandro
Val: 125
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

¿Cómo buscar registros que coincidan con los datos de un JSON en MariaDB?

Publicado por Sandro (79 intervenciones) el 05/08/2020 19:23:40
yo no entiendo la estructura de tu registro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar