आप आमतौर पर मान तालिका . के साथ जॉइन करके इस प्रकार की चीज़ें प्राप्त करते हैं , यानी एक तालिका जिसमें आपकी रुचि के सभी मान शामिल हैं।
विशिष्ट मान तालिकाओं में उदाहरण के लिए 0 और 1,000 के बीच के सभी पूर्णांक मान या किसी निश्चित अवधि के लिए सभी तिथियां शामिल हो सकती हैं। अक्सर Value तालिकाओं में वांछित से अधिक मान शामिल होते हैं, और हम WHERE क्लॉज में फ़िल्टर जोड़कर वांछित सटीक आउटपुट प्राप्त करते हैं।
इस मामले में आपको ऐसी तालिका की आवश्यकता होगी जिसमें तिथियां हों। मान लें कि इस तालिका को ValTableDates नाम दिया गया है और इसमें जनवरी 2005 और दिसंबर 2010 के बीच की सभी तिथियां शामिल हैं, तो क्वेरी इस तरह दिखेगी:
SELECT AVG(data) AS data, VT.ValDate
FROM ValTableDates VT
LEFT JOIN table T ON T.dateReg = VT.ValDate
WHERE VT.ValDate > [Some Start Date] and VT < [Some End Date]
GROUP BY YEAR(dateReg), MONTH(dateReg), DAY(dateReg)
ORDER BY dateReg
उपरोक्त क्वेरी को NULL के बजाय शून्य मान प्राप्त करने के लिए थोड़ा बदलाव करने की आवश्यकता हो सकती है, लेकिन मुख्य बिंदु यह है कि मान तालिका आमतौर पर अनुपलब्ध डेटा बिंदुओं के लिए आउटपुट रिकॉर्ड प्रदान करने का सबसे सरल तरीका है।
एक विकल्प का उपयोग करना है एक फ़ंक्शन/एक्सप्रेशन जो एक सबक्वेरी के अंदर वांछित [दिनांक] अनुक्रम उत्पन्न करता है, लेकिन यह आम तौर पर कम कुशल और अधिक त्रुटि प्रवण होता है।