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

SQL सर्वर 2005 में एक क्वेरी कैसे उत्पन्न करें जो मैट्रिक्स की तरह आउटपुट देता है?

कुछ इस तरह CTE का उपयोग कर रहे हैं और row_number() :

Fiddle डेमो

declare @numRows int = 8

;with cte as (
  select columnA X, row_number() over (order by columnA) rn
  from Table1
)
select c1.x A, c2.x B, c3.x C, c4.x D
from cte c1 
     left join cte c2 on c1.rn = [email protected]  
     left join cte c3 on c1.rn = c3.rn-(@numRows * 2)
     left join cte c4 on c1.rn = c4.rn-(@numRows * 3)
where c1.rn <= @numRows

परिणाम:

| A |  B |  C |  D |
|---|----|----|----|
| 1 |  9 | 17 | 25 |
| 2 | 10 | 18 | 26 |
| 3 | 11 | 19 | 27 |
| 4 | 12 | 20 | 28 |
| 5 | 13 | 21 | 29 |
| 6 | 14 | 22 | 30 |
| 7 | 15 | 23 | 31 |
| 8 | 16 | 24 | 32 |


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या मेरे पास संग्रहीत प्रक्रिया में वैकल्पिक OUTPUT पैरामीटर हो सकता है?

  2. SQL सर्वर लेनदेन संबंधी प्रतिकृति आंतरिक

  3. SQL सर्वर में एक अस्थायी तालिका में संग्रहीत कार्यविधि के परिणाम कैसे सम्मिलित करें

  4. SQL सर्वर ड्राइवर का उपयोग करके PDO के माध्यम से SQL सर्वर से कनेक्ट करें

  5. आप इमेज कॉलम में पिक्चर कैसे स्टोर करते हैं?