Je me suis juste retrouvé un peu coincé avec du SQL. Je ne pense pas pouvoir formuler la question brillamment - alors laissez-moi vous montrer.
J'ai deux tables, une appelée personne, une appelée rendez-vous. J'essaie d'obtenir le nombre de rendez-vous d'une personne (y compris si elle n'en a aucun). Rendez-vous contient le person_id
et il y a un person_id
par rendez-vous. Donc COUNT(person_id)
est une approche raisonnable.
La requête :
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
Retourne correctement le nombre de rendez-vous d'un person_id. Cependant, une personne qui n'a pas de rendez-vous n'est pas retournée (évidemment, car elle ne figure pas dans cette table).
En modifiant l'instruction pour prendre person_id dans la table person, j'obtiens quelque chose comme ça :
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 retournera qu'un identifiant de personne qui a un rendez-vous et non ce que je veux, c'est-à-dire un retour avec des personnes qui n'ont pas de rendez-vous !
Des suggestions, s'il vous plaît ?