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

Hacer que count me cuente valores nulos

Estas en el tema de Hacer que count me cuente valores nulos en el foro de PostgreSQL en Foros del Web. Hola a todos. Tengo una consulta en postgres que me cuenta el numero de busquedas que se relizan en una web. El problema es que ...
  #1 (permalink)  
Antiguo 25/06/2008, 03:48
 
Fecha de Ingreso: enero-2002
Mensajes: 417
Antigüedad: 22 años, 10 meses
Puntos: 0
Hacer que count me cuente valores nulos

Hola a todos. Tengo una consulta en postgres que me cuenta el numero de busquedas que se relizan en una web. El problema es que de estas busquedas algunas terminan en reservas. La sentencia es algo como esto ahora mismo:

SELECT sesion.idagencia, count(busqueda.id) as busquedas FROM <tablas> WHERE <mas parametros> GROUP BY idagencia ORDER BY idagencia

Esto me funciona correctamente y me da las busquedas. El problema viene al contar las reservas que se hacen, pues si modifico la consulta y pongo:

SELECT sesion.idagencia, count(busqueda.id) as busquedas, count(reservas.id) as reservas FROM <tablas> WHERE <mas parametros> GROUP BY idagencia ORDER BY idagencia

Me muetra solo los datos de las agencias que han hecho reservas.

Me gustaria saber si hay alguna opcion en el "segundo count" para que, si el valor es 0, me lo muestre tambien en el resultado como 0.

Muchas gracias a todos.
  #2 (permalink)  
Antiguo 25/06/2008, 05:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Hacer que count me cuente valores nulos

Si estamos hablando de dos tablas distintas y los parámetros tras el WHERE harían un cruce del tipo join tabla1.id=tabla2.refid, tal vez lo resolverías con cruce del tipo LEFT JOIN en el que el primer campo sea aquel del que tienes nulos y que deseas que cuente...
  #3 (permalink)  
Antiguo 25/06/2008, 08:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Respuesta: Hacer que count me cuente valores nulos

Cita:
SELECT sesion.idagencia, count(busqueda.id) as busquedas FROM <tablas> WHERE <mas parametros> GROUP BY idagencia ORDER BY idagencia

Esto me funciona correctamente y me da las busquedas. El problema viene al contar las reservas que se hacen, pues si modifico la consulta y pongo:

SELECT sesion.idagencia, count(busqueda.id) as busquedas, count(reservas.id) as reservas FROM <tablas> WHERE <mas parametros> GROUP BY idagencia ORDER BY idagencia

Me muetra solo los datos de las agencias que han hecho reservas.
Es correcto que muestre solo las agencias que han hecho reservas?
Si el resultado no es correcto, la respuesta ya te la proporciono mi paisano, buenas jurena, estas en todas!!!

Si el resultado es correcto y quieres que el segundo count salga 0,
COALESCE(count(id), 0)

Para la proxima, poner la select completa, ejemplos, etc.. suele ayudar!

Salu2
  #4 (permalink)  
Antiguo 26/06/2008, 06:49
 
Fecha de Ingreso: enero-2002
Mensajes: 417
Antigüedad: 22 años, 10 meses
Puntos: 0
Respuesta: Hacer que count me cuente valores nulos

Muchisimas gracia a los 2. Voy a probarlo!!!
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 09:53.