मेरे पास कार्य और नोट्स वाली दो तालिकाएं हैं, और प्रत्येक के लिए संबंधित नोट्स की संख्या के साथ कार्यों की एक सूची पुनर्प्राप्त करना चाहते हैं। इन दो प्रश्नों काम करते हैं:ट्रांजैक्ट-एसक्यूएल - उप क्वेरी या बाएं-शामिल?
select t.TaskId, (select count(n.TaskNoteId) from TaskNote n where n.TaskId = t.TaskId) 'Notes' from Task t -- or select t.TaskId, count(n.TaskNoteId) 'Notes' from Task t left join TaskNote n on t.TaskId = n.TaskId group by t.TaskId
उन दोनों के बीच एक अंतर है और मैं एक दूसरे के ऊपर का उपयोग करना चाहिए, या वे एक ही काम करने का सिर्फ दो तरीके हैं? धन्यवाद।
आंतरिक जुड़ने पर डितो - मैंने देखा है कि बड़े सेट पर एक बड़ा अंतर है (यह मानते हुए कि यह सही व्यवहार है जिसे आप चाहते हैं, और आपको एक ISNULL() या इसी तरह के फ़ंक्शन का उपयोग करने की आवश्यकता हो सकती है) –