Wie kann man "Null" / "0" als COUNT-Aggregat angeben?

Ich habe mich nur ein bisschen mit SQL beschäftigt. Ich glaube nicht, dass ich die Frage brillant formulieren kann - also lass es mich dir zeigen.

Ich habe zwei Tische, einen angerufenen, einen angerufenen Termin. Ich versuche, die Anzahl der Termine einer Person zurückzugeben (auch wenn sie null hat). Termin enthält dieperson_id und da ist einperson_id pro termin. SoCOUNT(person_id) ist ein vernünftiger Ansatz.

Die Abfrage:

SELECT person_id, COUNT(person_id) AS "number_of_appointments" 
FROM appointment 
GROUP BY person_id;

Wird korrekt zurückgegeben, wie viele Termine eine person_id hat. Eine Person mit 0 Terminen wird jedoch nicht zurückgegeben (offensichtlich, da sie nicht in dieser Tabelle enthalten ist).

Wenn ich die Anweisung ändere, um person_id aus der Personentabelle zu nehmen, sehe ich ungefähr so ​​aus:

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;

Dies wird jedoch immer noch nur eine person_id zurückgeben, die einen Termin hat und nicht das, was ich will, was eine Rückkehr mit Personen ist, die 0 Termine haben!

Irgendwelche Vorschläge bitte?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage