Consulta de múltiples campos de combinación con valores separados por comas
En SQL, cuando se trata de tablas que contienen listas separadas por comas (CSV) en sus campos, puede resultar complicado realizar uniones de forma eficaz. Este artículo explora un escenario específico donde la columna de categorías en una tabla de películas contiene varios ID de categoría y el objetivo es excluirla por completo mientras se obtienen los nombres de las categorías correspondientes de una tabla de categorías.
Las siguientes tablas ilustran el escenario :
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
Para realizar la unión deseada, podemos utilizar la función find_in_set() junto con una operación group_concat(). Aquí está la consulta:
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
Explicación de la consulta:
El resultado resultante se muestra los ID de las películas junto con los nombres de sus categorías correspondientes en un formato de matriz. Esto permite un fácil acceso a las categorías relevantes sin la necesidad de decodificar el CSV en la tabla de películas.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3