sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo incluir resultados cero / 0 en COUNT agregado?

Quiere una combinación externa para esto (y necesita usar person como la tabla "conductora")

SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM person 
  LEFT JOIN appointment ON person.person_id = appointment.person_id
GROUP BY person.person_id;

La razón por la que esto funciona es que la combinación externa (izquierda) devolverá NULL para aquellas personas que no tengan cita. La función agregada count() no contará NULL valores y por lo tanto obtendrá un cero.

Si desea obtener más información sobre las uniones externas, aquí hay un buen tutorial:http://sqlzoo.net/wiki/Using_Null