Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda para consulta sql

Estas en el tema de Ayuda para consulta sql en el foro de Mysql en Foros del Web. Hola, agardeceria si me pudierna ayudar con esto. Tengo estas tablas: *********LIBRO*********** ID_LIBRO TITULO C98 La tribu perdida A18 El largo adios A25 Solos C99 ...
  #1 (permalink)  
Antiguo 28/11/2010, 13:48
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Ayuda para consulta sql

Hola, agardeceria si me pudierna ayudar con esto.
Tengo estas tablas:

*********LIBRO***********
ID_LIBRO TITULO
C98 La tribu perdida
A18 El largo adios
A25 Solos
C99 A media luz
C76 En la ruta
C97 Sin limites

********PRESTAMOS********
ID_LIBRO TARJETA_SOCIO FECHA
C98 T1 09-NOV-09
C98 T2 09-NOV-09
A18 T2 09-NOV-09
C99 T3 09-NOV-09
C99 T1 25-NOV-09
C76 T3 12-NOV-09
C76 T2 30-NOV-09
A25 T2 23-NOV-09
C98 T3 30-NOV-09
C99 T3 25-NOV-09

Necesito saber cuantas veces ha sido prestado cada libro.
Tengo esta consulta:

select L.titulo, count(P.id_libro)
from libro L, prestamo P
where P.id_libro=L.id_libro
group by L.titulo;

pero, me saca solo los titulos de los libros q están en la tabla préstamo. Y yo necesito que si un libro no ha sido prestado, aparezca un 0 en la cantidad de veces q ha sido prestado.
Muchas gracias
  #2 (permalink)  
Antiguo 28/11/2010, 16:22
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Ayuda para consulta sql

prueba usando un LEFT JOIN algo asi
Código MySQL:
Ver original
  1. SELECT L.titulo, count(P.id_libro)
  2. FROM libro L LEFT JOIN prestamo P ON(L.id_libro=P.id_libro)
  3. GROUP BY L.titulo;
prueba y nos comentas si te sirvio saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:57.