मुझे कुछ एसक्यूएल के साथ थोड़ा सा अटक गया है। मुझे नहीं लगता कि मैं सवाल को शानदार ढंग से वाक्यांश दे सकता हूं - इसलिए मुझे आपको दिखाएं।COUNT कुल में "शून्य"/"0" परिणाम कैसे शामिल करें?
मेरे पास दो टेबल हैं, जिन्हें एक व्यक्ति कहा जाता है, जिसे नियुक्ति कहा जाता है। मैं एक व्यक्ति के पास नियुक्तियों की संख्या वापस करने की कोशिश कर रहा हूं (जिसमें उनके पास शून्य है)। नियुक्ति में 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 नियुक्तियां नहीं लौटाई गई हैं (जाहिर है क्योंकि वे उस तालिका में नहीं हैं)।
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 एक नियुक्ति है और नहीं है जो व्यक्तियों के साथ एक वापसी है कि मैं क्या चाहता हूँ, जो वापस आ जाएगी:
बयान व्यक्ति मेज से person_id लेने के लिए ट्वीक मेरे जैसे कुछ देता है 0 नियुक्तियां कौन हैं!
कोई सुझाव कृपया?
ग्रुप BY मूल प्रश्न में एक टाइपो जैसा प्रतीत होता है क्योंकि तालिका क्वेरी में शामिल नहीं है। –
@ जोचिम इक्सक्सन मेरी गलती। बेशक :) –