Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2011, 10:28
Zaleo
 
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
left outer join + count + group by

Hola a todos.
Resulta que tengo 2 tablas, album y fotos.
Quiero hacer una consulta para ver todos los albumnes y el numero de fotos que hay dentro de cada album. Es la siguiente:

SELECT A1.*, COUNT(A2.ID) NUM_FOTOS FROM album A1 LEFT OUTER JOIN foto A2 ON A1.id = A2.id_album GROUP BY a2.id_album

El problema es que si hay dos albumes o mas sin fotos, en la consulta solo me muestra uno de ellos con 0 fotos, los demas no aparecen.

He probado solucionarlo con esta otra consulta:

SELECT * FROM album A1 LEFT OUTER JOIN (SELECT ID_ALBUM, COUNT(ID) NUM_FOTOS FROM foto GROUP BY id_album) A2 ON A1.id = A2.id_album

Esta vez si que me aparecen varios albumnes sin fotos, pero el campo num_fotos no aparece 0, sino NULL.

Alguien me puede ayudar. Muchas gracias de antemano.