Web design and hosting, database, cloud and social media solutions that deliver business results
  • व्यापारिक समाधान
    • सॉफ़्टवेयर
    • रोबोटिक प्रक्रिया स्वचालन
    • डेटाबेस परामर्श सेवाएं
      • डेटा एकीकरण
      • डाटावेयरहाउस सेवाएं
      • पावर बीआई
      • सर्वर अपग्रेड और डीबीए सेवाएं
    • वेब साइट डिजाइन
      • भुगतान द्वार
      • लोगो डिजाइन
      • वेब स्थानीयकरण और अनुवाद
      • वेब साइट अनुकूलन
      • वेबसाइट सुरक्षा
      • तकनीकी उपकरण
    • क्लाउड समाधान
      • अमेज़न वेब सेवाएँ
      • Google क्लाउड सेवाएं
      • माइक्रोसॉफ्ट ऐज़ुर
    • माइक्रोसॉफ्ट ऑफिस
    • सामाजिक मीडिया
  • अकादमी
    • हमारा परीक्षण वातावरण
    • डेटाबेस डिजाइन सीखना
      • मूल बातें
      • SQL सर्वर Pivot-Unpivot का उपयोग करना
      • SQL सर्वर डेटा
      • SQL सर्वर फ़ंक्शंस का उपयोग करना
      • एसक्यूएल सर्वर 2008 रखरखाव योजनाएँ
      • एसक्यूएल सर्वर तिथियों का उपयोग करना
      • ओपन क्वेरी प्राप्त करें
    • वेबसाइट डिजाइन सीखना
      • Ousia सामग्री प्रबंधन प्रणाली का निर्माण
      • ASP-NET
      • CSS
      • जावास्क्रिप्ट का उपयोग करना
    • क्लाउड और आईटी सेवाएं सीखना
      • टास्क शेड्यूलर त्रुटि 2147943645
      • एसएसएल का अनुरोध करना और ओपनएसएसएल सरल चरणों में पीएफएक्स फ़ाइल बनाना
    • सामाजिक मीडिया का उपयोग
      • Google समीक्षा के लिए पूछना
      • फेसबुक अकाउंट को पर्सनल से बिजनेस में बदलना
      • सोशल मीडिया छवि आकार
      • सोशल मीडिया छवियाँ सेट करने के लिए मेटा डेटा का उपयोग करना
      • सोशल मीडिया प्रयासों पर ध्यान केंद्रित करने का स्थान चुनना
  • हमारे बारे में
    • ब्लॉग
      • Google कोर अपडेट जनवरी 2020
      • अपनी वेबसाइट के लिए सामग्री का चुनाव कैसे करें विज्ञापन पत्रक
      • इंटरनेट पर वेबसाइटों के बारे में सबसे कष्टप्रद बातें
      • एक प्रवेश स्तर की गेमिंग मशीन का निर्माण
      • ऑनलाइन घोटाले को रोकना
      • गिग इकॉनमी के स्किमर्स
      • मुफ्त वेक्टर ग्राफिक्स के लिए शीर्ष 5 वेबसाइटें
      • गर्म मिर्च इंटरनेट बंद
    • करियर
      • अनुवादक अंग्रेज़ी-जापानी
      • अनुवादक अंग्रेज़ी-तुर्की
      • अनुवादक अंग्रेज़ी-पुर्तगाली
      • अनुवादक अंग्रेज़ी-स्पेनिश
    • टीम
      • अली अल अमीन
      • ऐसे हुरो
      • एड्रियन आनंदन
      • गेविन क्लेटन
      • चेस्टर कॉपरपॉट
      • सुनील कुमार
      • सूर्य मुक्कमल
      • साई गंगू
    • नियामक
    • पोर्टफोलियो
عربى (AR)čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)فارسی (FA)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

स्तंभों को पंक्तियों में बदलने के लिए UNPIVOT का उपयोग कर SQL सर्वर

SQL सर्वर वास्तविक विश्व प्रकार के परिदृश्य में UNPIVOT फ़ंक्शन का उपयोग कर रहा है।

केस से निजात दिलाने का मामला

पिवट/अनपिवोट का उपयोग करना

हमने जिन परियोजनाओं पर काम किया है उनमें से एक तालिका में संग्रहीत डेटा के साथ काम करना शामिल है, जिसमें महीने 1 से 12 साल तक संग्रहीत हैं। यह कोई असामान्य समाधान नहीं है, लेकिन दर्जनों CASE कथनों के साथ SQL कथन फूला हुआ हो सकता है।

ये CASE स्टेटमेंट इसे बनाए रखना कठिन बनाते हैं, और यह मानवीय त्रुटि का स्रोत भी हो सकते हैं।

नीचे, हमने वास्तविक दुनिया के उदाहरण के अनुसार सेट किया गया एक साधारण डेटा सेट बनाया है, और SQL सर्वर में एक फ़ंक्शन है जो कॉलम को पंक्तियों में बदल देगा।

UnPivIDUnPivYearM1M2M3M4M5M6M7M8M9M10M11M12
12010123456789101112
12011123456789101112
12012123456789101112
22010123456789101112

क्या ये सहायक था?

यदि आप SQL सर्वर 2012 से नीचे चल रहे हैं, तो आपको यह फ़ंक्शन बनाना होगा, जो 2012 से निर्मित DATEFROMPARTS फ़ंक्शन के बराबर है
अधिक: SQL सर्वर 2012 से पहले के संस्करणों के लिए DATEFROMPARTS कार्य करता है

क्या ये सहायक था?

आगे हम एक अस्थायी तालिका बना सकते हैं, और इसे ऊपर दिए गए उदाहरण डेटा के साथ भर सकते हैं।

SQL

DECLARE @UnPiv TABLE (UnPivID INT, UnPivYear SMALLINT, M1 INT, M2 INT, M3 INT, M4 INT, M5 INT, M6 INT, M7 INT, M8 INT, M9 INT, M10 INT, M11 INT, M12 INT)INSERT INTO @UnPiv(UnPivID,UnPivYear,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)SELECT 1,2010,1,2,3,4,5,6,7,8,9,10,11,12INSERT INTO @UnPiv(UnPivID,UnPivYear,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)SELECT 1,2011,1,2,3,4,5,6,7,8,9,10,11,12INSERT INTO @UnPiv(UnPivID,UnPivYear,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)SELECT 1,2012,1,2,3,4,5,6,7,8,9,10,11,12INSERT INTO @UnPiv(UnPivID,UnPivYear,M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)SELECT 2,2010,1,2,3,4,5,6,7,8,9,10,11,12
SELECT UnPivID,UnPivYear,REPLACE(col,'M','') UnPivMonth,dbo.c1bs_DateFromParts(UnPivYear,REPLACE(col,'M',''),1) UnPivDate,DateFromParts(UnPivYear,REPLACE(col,'M',''),1) UnPivDateFrom2012,valFROM @UnPivUNPIVOT (Val FOR col IN (M1,M2,M3,M4,M5,M6,M7,M8,M9,M10,M11,M12)) unpiv

क्या ये सहायक था?

यह नीचे के अनुसार एक डेटासेट वापस करना चाहिए।

Results

UnPivIDUnPivYearUnPivMonthUnPivDateUnPivDate2012val
12010101/01/201001/01/20101
12010201/02/201001/02/20102
12010301/03/201001/03/20103
12010401/04/201001/04/20104
12010501/05/201001/05/20105
12010601/06/201001/06/20106
12010701/07/201001/07/20107
12010801/08/201001/08/20108
12010901/09/201001/09/20109
120101001/10/201001/10/201010
120101101/11/201001/11/201011
120101201/12/201001/12/201012
12011101/01/201101/01/20111
12011201/02/201101/02/20112
12011301/03/201101/03/20113
12011401/04/201101/04/20114
12011501/05/201101/05/20115
12011601/06/201101/06/20116
12011701/07/201101/07/20117
12011801/08/201101/08/20118
12011901/09/201101/09/20119
120111001/10/201101/10/201110
120111101/11/201101/11/201111
120111201/12/201101/12/201112
12012101/01/201201/01/20121
12012201/02/201201/02/20122
12012301/03/201201/03/20123
12012401/04/201201/04/20124
12012501/05/201201/05/20125
12012601/06/201201/06/20126
12012701/07/201201/07/20127
12012801/08/201201/08/20128
12012901/09/201201/09/20129
120121001/10/201201/10/201210
120121101/11/201201/11/201211
120121201/12/201201/12/201212
22010101/01/201001/01/20101
22010201/02/201001/02/20102
22010301/03/201001/03/20103
22010401/04/201001/04/20104
22010501/05/201001/05/20105
22010601/06/201001/06/20106
22010701/07/201001/07/20107
22010801/08/201001/08/20108
22010901/09/201001/09/20109
220101001/10/201001/10/201010
220101101/11/201001/11/201011
220101201/12/201001/12/201012

क्या ये सहायक था?

Please note, this commenting system is still in final testing.

Author

Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink कूकी नीतिसाइटमैप

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
इस साइट की सेटिंग्स सभी कुकीज़ को अनुमति देने के लिए सेट हैं इन्हें हमारी कुकी नीति और सेटिंग पृष्ठ पर बदला जा सकता है। इस साइट का उपयोग जारी रखने के द्वारा आप कुकीज़ के उपयोग से सहमत हैं।
Ousia Logo
Logout
Ousia CMS Loader