Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/01/2012, 06:01
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: problema para unir dos tablas, distinct no me funciona

Esa sería la forma estadar de hacerlo. No tiene defectos formales, pero si tienes las tablas muy cargadas, no es la más optimizada.
Ese sería el caso de:
Código MySQL:
Ver original
  1.     a.id_album, a.titulo, i.titulo
  2. FROM album a INNER JOIN imagenes i ON a.id_album = i.id_album
  3. ORDER BY a.id_album, a.titulo, i.titulo
El uso de la coma aparece en los manuales, pero cuando pones la condición en el WHERE obligas a MySQL a leer todas las tablas, completas, para recién allí hacer la selección.
INNER JOIN, en cambio, va descartando lo que no coincide a medida que lee las tablas. No requiere una neuva selección, ni lee todo.
Por otro lado, ese GROUP BY es peligroso, porque en esas devolverá la primera aparición de cada album, sin importarle las repeticiones de titulos que existan. Simpemente devolvera un único registro por cada id_album que encuentre. Eso puede no ser lo que quieres. En tu caso, ese GROUP BY es superfluo, porque el DISTINCT ya evitará repeticiones.
Además, tengo la impresión de que estás confundiendo el GROUP BY con el ORDER BY...
¿Lo que quieres es que aquellos registros del mismo id_album aparezcan juntos?
Eso es ORDER BY, no GROUP BY
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)