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

एसक्यूएल:रियल ट्रांसफर

मुझे यकीन नहीं है कि आपको क्यों लगता है कि आप इसे UNPIVOT . के साथ पूरा नहीं कर सकते हैं और एक PIVOT :

select [1], [2], [3], [4], [5]
from 
(
  select *
  from
  (
    select col1, col2, col3,
      row_number() over(order by col1) rn
    from yourtable
  ) x
  unpivot
  (
    val for col in (col1, col2, col3)
  ) u
) x1
pivot
(
  max(val)
  for rn in ([1], [2], [3], [4], [5])
) p

देखें SQL Fiddle with Demo . यदि आवश्यक हो तो इसे गतिशील रूप से भी किया जा सकता है।

संपादित करें, यदि कॉलम क्रम को रखने की आवश्यकता है, तो आप कुछ इस तरह का उपयोग कर सकते हैं, जो row_number() पर लागू होता है order by . का उपयोग किए बिना आपकी तालिका के किसी एक स्तंभ पर (यहाँ एक उपयोग करने के बारे में लेख है गैर-नियतात्मक पंक्ति संख्याएँ ):

select [1], [2], [3], [4], [5]
from 
(
  select *
  from
  (
    select col1, col2, col3,
      row_number() 
        over(order by (select 1)) rn
    from yourtable
  ) x
  unpivot
  (
    val for col in (col1, col2, col3)
  ) u
) x1
pivot
(
  max(val)
  for rn in ([1], [2], [3], [4], [5])
) p;

देखें SQL Fiddle with Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSIS पैकेज कहाँ सहेजे जाते हैं?

  2. जावा हाइबरनेट और एसक्यूएल सर्वर में यूयूआईडी के विभिन्न प्रतिनिधित्व

  3. WHERE क्लॉज में शर्त के साथ LEFT JOIN क्यों और कब ON में समान LEFT JOIN के बराबर नहीं है?

  4. SQL सर्वर डेटाबेस (T-SQL) में फ़ाइल समूह कैसे जोड़ें

  5. SQL सर्वर:तालिका-मूल्यवान कार्य बनाम संग्रहीत कार्यविधियाँ