SELECT id, JSON_EXTRACT(column,'$.parent[3].child') AS child FROM table WHERE JSON_EXTRACT(column,'$.parent[3].child') IN (1) esta es mi consulta sql. también tengo una columna jsonlength ¿cómo puedo conectar estas 2 columnas en una consulta? quiero cambiar 3 a número dinámico dado en jsonlength
por ejemplo:
SELECT id, JSON_EXTRACT(column,'$.parent['jsonlength'].child') AS child FROM table WHERE JSON_EXTRACT(column,'$.parent['jsonlength'].child') IN (1)pero esta consulta no funciona.
Debe formar la ruta JSON con concatenación de cadenas. En MySQL, esto se hace con la función CONCAT() .
SELECT id, JSON_EXTRACT(column, CONCAT('$.parent[',jsonlength,'].child')) AS child FROM table WHERE JSON_EXTRACT(column,CONCAT('$.parent[',jsonlength,'].child')) IN (1)