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 वेबसाइटें
      • गर्म मिर्च इंटरनेट बंद
    • करियर
      • अनुवादक अंग्रेज़ी-जापानी
      • अनुवादक अंग्रेज़ी-तुर्की
      • अनुवादक अंग्रेज़ी-पुर्तगाली
      • अनुवादक अंग्रेज़ी-स्पेनिश
    • टीम
      • अली अल अमीन
      • ऐसे हुरो
      • एड्रियन आनंदन
      • गेविन क्लेटन
      • चेस्टर कॉपरपॉट
      • सुनील कुमार
      • सूर्य मुक्कमल
      • साई गंगू
    • नियामक
    • पोर्टफोलियो
Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)हिंदी (HI)italiano (IT)日本語 (JA)Português (PT)

गतिशील SQL उदाहरण के साथ PIVOT का उपयोग कर SQL सर्वर

SQL सर्वर एक वास्तविक दुनिया प्रकार के परिदृश्य में एक जटिल PIVOT फ़ंक्शन का उपयोग कर रहा है, जहां कॉलम की संख्या हमेशा समान नहीं हो सकती है।

लेखक

डायनेमिक एसक्यूएल के साथ पिकोट का उपयोग करना

पिछले लेख में, मैंने एक मानक परिदृश्य में PIVOT का उपयोग करने के बारे में लिखा था, जहां आप अपने इच्छित सभी कॉलमों को जानते हैं, उसी डेटा का उपयोग करके अब हम वास्तविक डेटा सेट पर निर्भर कॉलम नाम बनाने के लिए उस पर बना सकते हैं।

मैं उस लेख के पहले भाग को छोड़ दूंगा लेकिन हमें यहां लाने और चलाने के लिए एसक्यूएल प्रदान करूंगा। सबसे पहले, एक डेटा सेट बनाते हैं।

अधिक: PIVOT उदाहरण का उपयोग कर SQL सर्वर
CREATE TYPE c1bs_Piv AS TABLE(MyRow NVARCHAR(10),--Row IDMyCol NVARCHAR(10),--Value to become columnCalcCol INT--Value to be Summed)GODECLARE @Piv c1bs_PivINSERT INTO @PivSELECT '1','1',1 UNIONSELECT '1','s',1 UNIONSELECT '1','3',1 UNIONSELECT '2','2',6 UNIONSELECT '2','2',1 UNIONSELECT '2','3',1 UNIONSELECT '3','5',5 UNIONSELECT '3','2',1 UNIONSELECT '3','3',1 UNIONSELECT '3','3',3

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

दूसरे लेख में, हमने कॉलम नामों (1,2,3) को हार्ड कोड किया था, हालांकि, यह हमेशा व्यवहार्य नहीं हो सकता है, कभी-कभी रिकॉर्ड सेट को बढ़ने की आवश्यकता हो सकती है जब उदाहरण के लिए एक जीयूआई को डेटा सेट भेजना, एक है इसके चारों ओर, चलो इसके माध्यम से कदम से कदम मिलाकर चलते हैं;

  • ऊपर के रूप में अपने डेटा का प्रतिनिधित्व करने के लिए एक तालिका प्रकार बनाएं।
  • एक तालिका घोषित करें और उसमें अपना डेटा डालें (@Piv)
  • दो चर घोषित करें, एक स्तंभ नामों को पिवट पर रखने के लिए, और एक चयन सूची के लिए, इस उदाहरण में, ISNULL का उपयोग करके और स्तंभ नामों से किसी भी NULL मान से छुटकारा मिलता है। हमने नामों को एक स्ट्रिंग में जोड़ने के लिए COALESCE का भी उपयोग किया है।
  • @Piv तालिका के साथ एक और चर घोषित करें, ये पैरामीटर हैं जो बाद में पारित हो जाते हैं।
  • हमारे एसक्यूएल को घोषित करें, यह वह जगह है जहां हम कॉलम नामों को इंजेक्ट करते हैं और सूची को साधारण पिवोट के संशोधित संस्करण में चुनते हैं।
  • उपरोक्त SQL कथन निष्पादित करें, और पैरामीटर और @PIV तालिका में पास करें।
--Complex Pivot - unknown column names--Get Column Names for belowDECLARE @Cols NVARCHAR(MAX),@Sel NVARCHAR(MAX) SELECT @Cols=COALESCE(@Cols+',','')+'['+MyCol+']',--Concatenate the Columns  @Sel =COALESCE(@Sel +',','')+'ISNULL(['+MyCol+'], 0) AS ['+MyCol+']' --Concatenate the Columns into a select listFROM @Piv GROUP BY MyCol 
--Columns list displaySELECT @Cols ColumnList,@Sel SelectList
--Complex Pivot SQLDECLARE @Params NVARCHAR(MAX)='@Piv c1bs_Piv READONLY'DECLARE @SQL NVARCHAR(MAX)='SELECT [MyRow],'+@Sel+'FROM @PivPIVOT (SUM(CalcCol)FOR MyColIN ('+@Cols+')) AS MyTable'
--Execute SQLEXECUTE sp_executesql @SQL,--SQL String from above@Params,--Parameter list@Piv--Temp Table needs to be passed in, can only be read only?

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

हमारे डेटासेट में अब डेटासेट से दो अतिरिक्त कॉलम शामिल हो गए हैं (5,s)

MyRow1235s
110101
207100
301450

लेखक

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

Please note, this commenting system is still in final testing.
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