मैं कर्मचारी समय रिकॉर्ड के लिए कुछ रिपोर्टिंग करने की कोशिश कर रहा हूं।
इस सवाल के लिए हमारे पास दो टेबल हैं। कर्मचारी Membersतालिका में सूचीबद्ध होते हैं और प्रत्येक दिन वे काम की प्रविष्टियों को दर्ज करते हैं जो उन्होंने प्रदर्शन किया है और Time_Entryतालिका में संग्रहीत किया जाता है।
SQL फिडेल के साथ उदाहरण सेटअप: http://sqlfiddle.com/#! -3 / e3806 /7
मैं जिस अंतिम परिणाम के लिए जा रहा हूं वह एक तालिका है जो सभी को Membersएक कॉलम सूची में दिखाती है और फिर अन्य कॉलमों में उद्धृत तिथि के लिए उनके योग के घंटे दिखाएगी।
समस्या यह प्रतीत होती है कि यदि Time_Entryकिसी विशेष सदस्य के लिए तालिका में कोई पंक्ति नहीं है , तो उस सदस्य के लिए अब पंक्ति है। मैंने कई अलग-अलग ज्वाइन प्रकारों की कोशिश की है (लेफ्ट, राईट, इनर, आउटर, फुल आउटर, इत्यादि), लेकिन कोई भी मुझे वह नहीं देना चाहता जो मुझे चाहिए, जो कि होगा (SQL फिडेल में अंतिम उदाहरण के आधार पर):
/*** Desired End Result ***/
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
ADavis | 0 | 11-10-2013 | 0 | 0
BTronton | 0 | 11-10-2013 | 0 | 0
CJones | 0 | 11-10-2013 | 0 | 0
DSmith | 0 | 11-10-2013 | 0 | 0
EGirsch | 1 | 11-10-2013 | 0.92 | 1
FRowden | 0 | 11-10-2013 | 0 | 0
जब मैं 11-1 की विशिष्ट तिथि के लिए क्वेरी करता हूं, तो मुझे वर्तमान में क्या मिल रहा है:
Member_ID | COUNTTime_Entry | TIMEENTRYDATE | SUMHOURS_ACTUAL | SUMHOURS_BILL
EGirsch | 1 | 11-10-2013 | 0.92 | 1
यह एक टाइम एंट्री पंक्ति के आधार पर सही है जो कि ईजीरिस्च के लिए 11-10-2013 की तारीख है, लेकिन मुझे रिपोर्ट प्राप्त करने और अंततः इस जानकारी के लिए एक वेब डैशबोर्ड / रिपोर्ट प्राप्त करने के लिए अन्य सदस्यों के लिए शून्य देखने की आवश्यकता है।
यह मेरा पहला सवाल है, और जब मैंने जॉइन क्वेश्चन आदि की खोज की, तो मुझे पूरी उम्मीद है कि इस फ़ंक्शन को क्या कहा जा सकता है, इसलिए मुझे आशा है कि यह कोई डुप्लिकेट नहीं है और इससे दूसरों को भी इसका हल ढूंढने में मदद मिलेगी इसी तरह की समस्याएं।

WHEREऔर के बीच का अंतरAND। मैंने मूल रूप से उपनामों का उपयोग किया था, लेकिन sqlfiddle को यह पसंद नहीं आया इसलिए मैंने अभी पूर्ण प्रारूप दिया। अन्य एसक्यूएल सुझावों के लिए भी धन्यवाद। क्या आप इसके बजाय डेटा 0 की सिफारिशISNULLयाCOALESCEकरना चाहेंगे ? एक बार फिर धन्यवाद!NULL