sql - How to apply pivot in below scenarios -


मेरे पास टेबल के नीचे है

  नाम का महीना साल का गणन -------- -------------------- xxx 12 2012 24 xxx 1 2013 42 xxx 2 2013 23 yyy 12 2012 34 yyy 1 2013 12 yyy 2 2013 54   

मैं इसे नीचे प्रारूप में बदलना चाहता हूं,

  नाम Dec-12 Jan-13 Feb-13 ---------------  P> 

चूंकि आप SQL सर्वर का उपयोग कर रहे हैं, इसलिए कई तरीके हैं कि आप कॉलम में पंक्तियों से डेटा को पिवट कर सकते हैं।

यदि आपका मूल्य सीमित हैं या आपके पास ज्ञात संख्याएं हैं, फिर आप स्थिर धुरी वाले मानों को कठिन-कोड कर सकते हैं:

  नाम का चयन करें, [Dec_12], [Jan_13], [फरवरी 3] से (नाम का चयन करें, बाएं (डेटानाम (महीना, डेटएड (महीना, महीना, 0) -1), 3) + '_' + सही (डाली (वर्चार (4) के रूप में वर्ष), 2) मेरा, [your] ) मेरे लिए ([Dec_12], [Jan_13], [फरवरी 3]) पीआईवी के लिए एसआरसी धुएं (राशि (गिनती);   

देखें।

अब, यदि आपके पास अज्ञात संख्याएं हैं, तो आपको परिणाम उत्पन्न करने के लिए गतिशील एसक्यूएल को कार्यान्वित करने की आवश्यकता होगी:

  DECLARE @ cols AS NVARCHAR (MAX), @ गुणवत्ता एएन एनएचएआरएआरए (मैक्स) के रूप में @ cols = STUFF का चयन करें ((चयन करें ',' + QUOTENAME (मेरे) से (बाएं चुनें (डेटानाम (महीना, डेटैड (महीने, महीना, 0) -1), 3) + '_' + (सही) (दाएं (varchar (4) के रूप में), 2) मेरा, CAST (CAST (वर्ष VARCHAR (4)) + अधिकार ('0' + कास्ट (महीने VARCHAR (2)), 2) +01 'एटी एट डीएटीईईटीईईएम') अपने ग्रुप द्वारा पूर्ण करें, पूर्णांक के लिए XML पेथ (''), TYPE) के लिए पूर्णांक करें। मूल्य ('।', 'NVARCHAR (मैक्स)'), 1,1, '') सेट @query = 'SELECT name,' + cols + 'से (नाम का चयन करें, बाएं (डेटानाम (महीना, डेटैड (महीने, महीना, 0) -1), 3) +' '_' '+ सही (कास्ट (वर्ष Varchar (4)) के रूप में, 2) मेरा, [yourtable से] गिनती) एक्स (मेरे लिए '+ cols +') के लिए धुरी (गणना (गणना)) p 'execute (@query)   

देखें

इस और स्थैतिक संस्करण के साथ यह अंतर है अगर आपको एक अज्ञात संख्या की ज़रूरत है या इसे स्वचालित रूप से नई तिथियों के साथ अपडेट करने की आवश्यकता है, तो यह कोड को बदले बिना नया डेटा वापस करेगा। / P>

दोनों प्रश्नों का परिणाम है:

  | NAME | DEC_12 | JAN_13 | एफईबी_13 | ----------------------------------- | Xxx | 24 | 42 | 23 | | Yyy | 34 | 12 | 54 |    

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -