"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > SQL में कॉलम और पंक्तियों को कुशलता से कैसे स्थानांतरित करें?

SQL में कॉलम और पंक्तियों को कुशलता से कैसे स्थानांतरित करें?

2025-03-25 को पोस्ट किया गया
ब्राउज़ करें:277

How to Efficiently Transpose Columns and Rows in SQL?

] ] यदि आप इसे आसान तरीके से प्राप्त करना चाहते हैं, तो निम्नलिखित विकल्प पर विचार करें:

] ] नाम चुनें, योग (मामला जब रंग = 'लाल' तो मूल्य 0 अंत) लाल के रूप में, योग (मामला जब रंग = 'हरा' तो मूल्य 0 अंत) हरे रंग के रूप में, योग (मामला जब रंग = 'नीला' तो नीला के रूप में 0 और 0 अंत मूल्य) से ( रंग का चयन करें, पॉल को मूल्य के रूप में, 'पॉल' नाम के रूप में Yourtable से सभी को मिलाना रंग का चयन करें, जॉन को मूल्य के रूप में, 'जॉन' नाम के रूप में Yourtable से सभी को मिलाना रंग का चयन करें, टिम को मूल्य के रूप में, 'टिम' नाम के रूप में Yourtable से सभी को मिलाना रंग का चयन करें, मूल्य के रूप में एरिक, 'एरिक' नाम के रूप में Yourtable से ) एसआरसी के रूप में नाम से समूह

]

यदि आप उस मान को जानते हैं जिसे आप परिवर्तित करना चाहते हैं, ] से ( रंग, नाम, मूल्य का चयन करें Yourtable से अयोग्य ( नाम के लिए मूल्य (पॉल, जॉन, टिम, एरिक) ) अनपिव के रूप में ) एसआरसी के रूप में धुरी ( योग (मान) रंग के लिए ([लाल], [हरा], [नीला]) ) के रूप में piv

गतिशील परिप्रेक्ष्य

] ] @query के रूप में nvarchar (अधिकतम), nvarchar (अधिकतम) के रूप में @colspivot @Colsunpivot = stuff ((चयन करें ',' QuotEname (C.Name) का चयन करें सी के रूप में sys.columns से जहां c.Object_id = object_id ('yourtable') और C.Name 'रंग' XML पथ ('') के लिए), 1, 1, '') @ColSpivot = सामान का चयन करें ((चयन करें ',', ' उद्धरण (रंग) T के रूप में yourtable से XML पथ ('') के लिए, टाइप करें ) .value ('।', 'nvarchar (अधिकतम)') , 11, '') सेट करें @Query = 'नाम चुनें,' @colspivot ' से ( रंग, नाम, मूल्य का चयन करें Yourtable से अयोग्य ( नाम के लिए मान ('@colsunpivot') ) अनपिव के रूप में ) एसआरसी के रूप में धुरी ( योग (मान) रंग के लिए ('@colspivot') ) के रूप में PIV ' Exec (@query)

SELECT name,
  SUM(CASE WHEN color = 'Red' THEN value ELSE 0 END) AS Red,
  SUM(CASE WHEN color = 'Green' THEN value ELSE 0 END) AS Green,
  SUM(CASE WHEN color = 'Blue' THEN value ELSE 0 END) AS Blue
FROM
(
  SELECT color, Paul AS value, 'Paul' AS name
  FROM yourTable
  UNION ALL
  SELECT color, John AS value, 'John' AS name
  FROM yourTable
  UNION ALL
  SELECT color, Tim AS value, 'Tim' AS name
  FROM yourTable
  UNION ALL
  SELECT color, Eric AS value, 'Eric' AS name
  FROM yourTable
) AS src
GROUP BY name

]

5

4
SELECT name, [Red], [Green], [Blue]
FROM
(
  SELECT color, name, value
  FROM yourTable
  UNPIVOT
  (
    value FOR name IN (Paul, John, Tim, Eric)
  ) AS unpiv
) AS src
PIVOT
(
  SUM(value)
  FOR color IN ([Red], [Green], [Blue])
) AS piv

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3