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

Tajuk Kolom T-SQL Pivot/Unpivot(Transpose) Diperlukan sebagai Baris Data

Ada beberapa hal membingungkan yang Anda lakukan.

Pertama, biasanya Anda akan menghapus beberapa kolom. Saat ini, Anda sedang menghapus satu kolom dan sepertinya Anda melakukannya hanya untuk mengganti nama kolom?

Kedua, Anda menggabungkan data dua kali, PIVOT harus dapat menangani agregasi menggunakan SUM() .

Ketiga, tidak begitu jelas mengapa Anda membutuhkan tajuk kolom sebagai baris, Anda ingin tajuk kolom disebut apa?

Berdasarkan data sampel Anda, Anda seharusnya dapat menerapkan fungsi PIVOT:

select 'TotalRecords' TotalRecords, 
  [2012],
  [2013],
  [All]
from tbleirstatisticsoverviewsummary
pivot
(
  sum(totalrecords)
  for FiscalYear IN ([2012],[2013],[ALL])
) p;

Lihat SQL Fiddle dengan Demo . Kemudian jika Anda ingin baris dengan header kolom, maka Anda dapat menggunakan UNION ALL:

select 'colname' col1, 
  2012 col2, 
  2013 col3, 
  'All' col4
union all
select 'TotalRecords' TotalRecords, 
  [2012],
  [2013],
  [All] = cast([all] as varchar(10))
from tbleirstatisticsoverviewsummary
pivot
(
  sum(totalrecords)
  for FiscalYear IN ([2012],[2013],[ALL])
) p;

Lihat SQL Fiddle dengan 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. Cara membuat kolom lain yang bergantung pada batasan default di sql server

  2. SQL Server - Bacaan Kotor Pro &Kontra

  3. Bagaimana cara menggabungkan tabel dengan cara setiap record digabungkan dengan record sebelumnya?

  4. Layanan pelaporan MS membatasi jumlah baris

  5. SQL Server JOIN tidak memiliki nilai NULL