आप इसके लिए बाहरी जुड़ाव चाहते हैं (और आपको व्यक्ति को "ड्राइविंग" तालिका के रूप में उपयोग करने की आवश्यकता है)
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;
यह क्यों काम कर रहा है, इसका कारण यह है कि बाहरी (बाएं) जुड़ना NULL
return वापस आ जाएगा उन लोगों के लिए जिनके पास अपॉइंटमेंट नहीं है। कुल कार्य count()
NULL
की गणना नहीं करेगा मान और इस प्रकार आपको एक शून्य मिलेगा।
यदि आप बाहरी जुड़ाव के बारे में अधिक जानना चाहते हैं, तो यहां एक अच्छा ट्यूटोरियल है:http://sqlzoo.net/wiki/Using_Null