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

TSQL PIVOT GANDA KOLOM

Karena Anda ingin memutar beberapa kolom data, pertama-tama saya sarankan untuk tidak memutar result , score dan grade kolom sehingga Anda tidak memiliki banyak kolom tetapi Anda akan memiliki beberapa baris.

Tergantung pada versi SQL Server Anda, Anda dapat menggunakan fungsi UNPIVOT atau CROSS APPLY. Sintaks untuk menghapus data akan mirip dengan:

select ratio, col, value
from GRAND_TOTALS
cross apply
(
  select 'result', cast(result as varchar(10)) union all
  select 'score', cast(score as varchar(10)) union all
  select 'grade', grade
) c(col, value)

Lihat SQL Fiddle dengan Demo. Setelah data tidak dipivot, Anda dapat menerapkan fungsi PIVOT:

select ratio = col,
  [current ratio], [gearing ratio], [performance ratio], total
from
(
  select ratio, col, value
  from GRAND_TOTALS
  cross apply
  (
    select 'result', cast(result as varchar(10)) union all
    select 'score', cast(score as varchar(10)) union all
    select 'grade', grade
  ) c(col, value)
) d
pivot
(
  max(value)
  for ratio in ([current ratio], [gearing ratio], [performance ratio], total)
) piv;

Lihat SQL Fiddle dengan Demo. Ini akan memberi Anda hasilnya:

|  RATIO | CURRENT RATIO | GEARING RATIO | PERFORMANCE RATIO |     TOTAL |
|--------|---------------|---------------|-------------------|-----------|
|  grade |          Good |          Good |      Satisfactory |      Good |
| result |       1.29400 |       0.33840 |           0.04270 |    (null) |
|  score |      60.00000 |      70.00000 |          50.00000 | 180.00000 |



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengonsolidasikan Instance SQL Server dengan Pengelompokan dan Penumpukan

  2. Statistik Database Pembaruan SQL Server

  3. Temukan string dengan mencari semua tabel di SQL Server

  4. Buat Profil Email Database (SSMS)

  5. Cara Mengonversi Daftar yang Dipisahkan Koma menjadi Baris di SQL Server