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

Kueri Tab Silang Sql Server 2008

Anda harus dapat melakukan ini dengan operator 'pivot'. Sesuatu seperti ini (walaupun saya yakin saya meredam beberapa detail ejaan atau sintaks...):

select catTitle, [1] as site1, [2] as site2, [3] as site3, [4] as site4, [5] as site5
  from (select category.catTitle, equipment.quantity, site.title
          from equipment
            inner join site
              on (equipment.siteid = site.siteid)
            inner join category
              on (category.catid = equipment.catid)
        ) 
  pivot
  (
  sum (quantity)
    for equipment.siteid in ( [1], [2], [3], [4], [5] )
  ) as pvt
order by pvt.category;

Masalahnya adalah Anda perlu mengetahui set id situs yang tepat yang ingin Anda sertakan dalam kueri. Jika Anda memerlukan tab silang yang lebih dinamis (seperti yang Anda dapatkan di Excel), maka Anda perlu membuat teks kueri sebagai string dan menggunakan sp_executesql untuk menjalankannya. Dalam teks yang dihasilkan, Anda menyertakan sebanyak "[1], [2], [3], [4], [5]..." dan "[1] sebagai site1, [2] sebagai site2.. ." hal-hal yang Anda butuhkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Nomor Partisi untuk Setiap Baris Saat Membuat Kueri Tabel yang Dipartisi di SQL Server (T-SQL)

  2. Menampilkan hubungan Parent-Child ketika Parent dan Child disimpan dalam tabel yang sama

  3. Bagaimana klausa DISTINCT SQL bekerja?

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

  5. Cara Mengganti Nama Kolom atau Nama Tabel di SQL Server - Tutorial SQL Server / T-SQL Part 36