Je suis juste un peu coincé avec du SQL. Je ne pense pas que je puisse formuler la question avec brio - alors laissez-moi vous montrer.
J'ai deux tables, une appelée personne, une appelée rendez-vous. J'essaie de renvoyer le nombre de rendez-vous qu'une personne a (y compris si elle en a zéro). Le rendez-vous contient le person_id
et il y en a un person_id
par rendez-vous. Il en COUNT(person_id)
va de même pour une approche sensée.
La requête:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
Renvoie correctement, le nombre de rendez-vous d'un person_id. Cependant, une personne qui n'a pas de rendez-vous n'est pas renvoyée (évidemment car elle ne figure pas dans ce tableau).
Ajuster l'instruction pour prendre person_id de la table person me donne quelque chose comme:
SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM appointment
JOIN person ON person.person_id = appointment.person_id
GROUP BY person.person_id;
Cependant, cela ne renverra toujours qu'un person_id qui a un rendez-vous et non ce que je veux qui est un retour avec des personnes qui ont 0 rendez-vous!
Des suggestions s'il vous plaît?