Saltar al contenido

MySQL: dividir la lista separada por comas en varias filas

Nuestro team redactor ha estado mucho tiempo investigando la solución a tu duda, te compartimos la respuestas por eso nuestro deseo es resultarte de mucha ayuda.

Solución:

En MySQL esto se puede lograr de la siguiente manera

SELECT id, length FROM vehicles WHERE id IN ( 117, 148, 126) 

+---------------+
| id  | length  |
+---------------+
| 117 | 25      |
| 126 | 8       |
| 148 | 10      |
+---------------+

SELECT id,vehicle_ids FROM load_plan_configs WHERE load_plan_configs.id =42

+---------------------+
| id  | vehicle_ids   |
+---------------------+
| 42  | 117, 148, 126 |
+---------------------+

Ahora, para obtener la longitud de los identificadores de vehículos separados por comas, use la siguiente consulta

Output

SELECT length 
FROM   vehicles, load_plan_configs   
WHERE  load_plan_configs.id = 42 AND FIND_IN_SET(
       vehicles.id, load_plan_configs.vehicle_ids
)

+---------+
| length  |
+---------+
| 25      |
| 8       |
| 10      |
+---------+

Para obtener más información, visite http://amitbrothers.blogspot.in/2014/03/mysql-split-comma-separated-list-into.html

He respondido dos preguntas similares en tantos días pero no he obtenido ninguna respuesta, así que supongo que la gente se desanima por el uso del cursor, pero como debería ser un proceso único, personalmente no creo que eso importe.

Como dijiste, MySQL aún no es compatible con los tipos de devolución de tablas, por lo que tienes pocas opciones además de hacer un bucle en la tabla y analizar el material csv string y genere las filas apropiadas para la pieza y el material.

Las siguientes publicaciones pueden resultar de interés:

dividir palabras clave para publicar php mysql

Procedimiento de MySQL para cargar datos de la tabla de ensayo a otras tablas. Necesidad de dividir el campo multivalor en el proceso

Rgds

Reseñas y valoraciones del artículo

Recuerda difundir esta crónica si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *