Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/01/2016, 05:29
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Simplificar varias consultas dentro de while

Cita:
Iniciado por Zenok Ver Mensaje
No he entendido demasiado bien lo que pretendes hacer ¿Quieres mostrar un listado de canciones con toda su información?

¿Si es así, porque no utilizas un solo while con una consulta JOIN que te saque directamente toda la info (id cancion, Titulo cancion, id autor, nombre autor, etc)?

Código MySQL:
Ver original
  1. SELECT a.ID_AUTOR, a.NOMBRE, m.ID_CANCION, m.TITULO FROM ((cancion_autor JOIN cancion ON ma.ID_CANCION = cancion.m.ID_CANCION) JOIN autor ON ma.ID_AUTOR = autor.a.ID_AUTOR);
@Zenok:

Ten cuidado con el uso de paréntesis en MySQL. No solo son innecesarios para el JOIN, sino que pueden hacer que se generen consultas ineficientes.
El parser en ciertos casos los usa para establecer el orden de los JOIN, lo qu epuede disparar consultas ineficientes de acuerdo a los datos que existan en el momento.
Si pones los JOIN sin paréntesis, estás permitiendo que el parser busque cual es la mejor posibilidad.

No te olvides que MySQL no es SQL Server. No tiene las mismas reglas de inferencia.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)