Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

bagaimana cara menghasilkan kueri di SQL SERVER 2005 yang memberikan output seperti Matrix?

Sesuatu seperti ini menggunakan CTE dan row_number() :

Demo biola

deklarasikan @numRows int =8;dengan cte sebagai ( pilih kolomA X, row_number() over (urutkan berdasarkan kolomA) rn dari Tabel1) pilih c1.x A, c2.x B, c3.x C, c4.x Ddari cte c1 kiri gabung cte c2 di c1.rn =[email protected] kiri gabung cte c3 di c1.rn =c3.rn-(@numRows * 2) gabung kiri cte c4 di c1.rn =c4.rn-(@numRows * 3)di mana c1.rn <=@numRows 

hasil:

| Sebuah | 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. Cara menyisipkan baris untuk setiap nilai unik yang ditemukan di kolom

  2. SQL Server 2016:Lihat Desainer

  3. String Sql Server hingga saat ini konversi

  4. Ambil Nama Parameter &Nilai Saat Ini Secara Dinamis Di Dalam Prosedur Tersimpan T-SQL

  5. Buat tampilan di beberapa database