हमारे पास orders
डेटा है और हमें SQL
का उपयोग करके Weekly - Custom date Range of 7 Days
रिपोर्ट जेनरेट करने की आवश्यकता है। रिपोर्ट ऑर्डर के साप्ताहिक count
प्रदर्शित करेगी। उपयोगकर्ता End Date
का चयन करेगा और हमें उस तिथि के आधार पर 12 डेटरेंज इकाइयां बनाने की आवश्यकता है। उदाहरण के लिए उपयोगकर्ता का चयन करता है 1/24/2013
हम 12 अंक/इकाइयों की जरूरत के रूप में:क्या यह रिपोर्ट के लिए एसक्यूएल लिखने का सबसे अच्छा तरीका है?
Point12 = End Date - 7 Days
Point11 = End Date - 14 Days
Point10 = End Date - 21 Days
Point9 = End Date - 28 Days
.
.
Point1 = End Date - X Days
हमारा समाधान:
हम एक अस्थायी तालिका बनाने के लिए योजना बना रहे हैं कि तालिका 12 पंक्तियाँ होगा। प्रत्येक पंक्ति की तरह डेटा होगा (हम StartDate और EndDate प्रत्येक प्वाइंट के लिए गणना करेगा):
Point StartDate EndDate TotalOrders
Point12 2013-01-24 2013-01-30
Point11 2013-01-17 2013-01-23
इस के बाद हम प्रत्येक पंक्ति के लिए आदेश की count
मिल जाएगा।
क्या यह इस समस्या का एक अच्छा समाधान है या इसे अनुकूलित किया जा सकता है?
संपादित करें:
साप्ताहिक DATERANGE एक Custom date Range of 7 Days
हो जाएगा।
@EdHeal: मैं इसे अपने आप कर सकता हूं। लेकिन मैं सिर्फ यह जानना चाहता हूं कि मैं इसे सबसे अच्छे तरीके से कर रहा हूं। इस परिदृश्य में –
आपको बेहतर प्रदर्शन के लिए तालिका चर का उपयोग करना चाहिए। आप इस आलेख को अंतर के बारे में पढ़ सकते हैं: http://www.sql-server-performance.com/2007/temp-tables-vs-variables/ –
आप प्रत्येक पंक्ति के लिए 'गिनती' कैसे प्राप्त कर रहे हैं? – msmucker0527