SQLに少しこだわっています。質問をうまく表現できないと思いますので、お見せしましょう。
私には2つのテーブルがあります。1つはpersonと呼ばれ、もう1つはappointmentと呼ばれます。私は人が持っている予定の数を返そうとしています(彼らがゼロを持っているかどうかを含む)。アポイントメントにはが含まれ、アポイントメントごとperson_id
にあります。賢明なアプローチもperson_id
そうです。COUNT(person_id)
クエリ:
SELECT person_id, COUNT(person_id) AS "number_of_appointments"
FROM appointment
GROUP BY person_id;
正しく返されます、person_idが持っている予定の数。ただし、予定が0の人は返されません(明らかに、そのテーブルに含まれていないため)。
個人テーブルからperson_idを取得するようにステートメントを微調整すると、次のようになります。
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;
ただし、これでも、予定があるperson_idのみが返され、予定が0の人との返送である私が望むものは返されません。
何か提案はありますか?