Tengo tres tablas tal que asi:
autor a
a.ID_AUTOR
a.NOMBRE
cancion m
m.ID_CANCION
m.TITULO
cancion_autor ma
ma.ID_MA
ma.ID_CANCION
ma.ID_AUTOR
Para mostrar el listado de todas las canciones y que apareciesen todos los autores de dichas canciones usaba una búsqueda de todas las canciones:
Código:
y en el while para mostrar los datos de cada canción (guardado su id en $ID_CANCION) anidaba otra consulta para conseguir los autores de dicha canción:SELECT m.TITULO, m.ID_CANCION FROM cancion m
Código:
El problema es que si son casi 4000 canciones -con sus casi 4000 while y sus casi 4000 consultas- y la cantidad de consultas que hay que hacer a la base de datos me parece excesivo.SELECT ma.ID_MA, a.NOMBRE, FROM cancion_autor ma INNER JOIN autor a ON a.ID_AUTOR = ma.ID_AUTOR WHERE ma.ID_CANCION LIKE '$ID_CANCION'
Por desgracia mis conocimientos de mysql no llegan como para conseguir todos los datos que necesito en una sola búsqueda, eliminando la consulta dentro del bucle while. Es decir: querría conseguir que al buscar en todas las canciones, en el array de resultados me apareciesen los nombres de todos los autores de dicha canción.
Espero que se me haya entendido. Muchas gracias de antemano, saludos.