Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

घटनाओं की तालिका और दिनांक सीमा के बीच टी-एसक्यूएल क्वेरी

आप जो खोज रहे हैं उसे आमतौर पर क्रॉसस्टैब क्वेरी कहा जाता है। यदि आप पूछ रहे हैं कि स्थिर . दिए गए क्रॉसस्टैब क्वेरी को कैसे बनाया जाए स्तंभों की सूची, आप ऐसा कुछ कर सकते हैं:

Select Title
    , Min( Case When DatePart(mm, [Date]) = 7 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Jul-10]
    , Min( Case When DatePart(mm, [Date]) = 8 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Aug-10]   
    , Min( Case When DatePart(mm, [Date]) = 9 And DatePart(yy, [Date]) = 2010 Then MetaData End ) As [Sep-10]       
    ...
From Table
Where [Date] Between @StartDate And @EndDate
Group By Title

इसी तरह, आप ब्रोकन लिंक द्वारा सुझाई गई PIVOT कार्यक्षमता का उपयोग कर सकते हैं। हालांकि, उपरोक्त समाधान और PIVOT कार्यक्षमता दोनों स्थिर . पर निर्भर हैं कॉलम घोषणाएं। यदि आप जो चाहते हैं वह स्तंभों की एक गतिशील सूची (उर्फ डायनेमिक क्रॉसस्टैब) है, तो आप उस सीमा से बाहर हैं जो टी-एसक्यूएल को मुख्य रूप से करने के लिए डिज़ाइन किया गया था। यह संभव है कुछ उग्र गतिशील एसक्यूएल के साथ लेकिन यह भंगुर और बोझिल है। इसके बजाय, आपको परिणामसेट को मध्यम-स्तरीय घटक में बनाना चाहिए या एक रिपोर्टिंग टूल का उपयोग करना चाहिए जो क्रॉसस्टैब परिणाम बनाएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर TempDB मॉनिटरिंग डायनेमिक मैनेजमेंट व्यू (DMV) का उपयोग करके

  2. SQL सर्वर में विभिन्न स्ट्रिंग प्रकारों के बीच अंतर?

  3. Sql में नई xml नोड प्रविष्टि को अद्यतन करने या बनाने के लिए IF/ELSE कथन का उपयोग कैसे करें

  4. समय के बीच डेटाबेस में एक साथ घटनाओं का पता लगाना

  5. SQL सर्वर 2008 स्थापित, हालांकि चल रहा संस्करण अभी भी 2005 है