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

SQL dinamis untuk menghasilkan nama kolom?

Setelah menjawab banyak pertanyaan ini selama bertahun-tahun dengan menghasilkan SQL pivot dinamis dari metadata, lihat contoh berikut:

SQL Dynamic Pivot - cara mengurutkan kolom

SQL Server 2005 Pivot pada Jumlah Kolom Tidak Diketahui

Kueri atau tampilan SQL apa yang akan menampilkan "kolom dinamis"

Bagaimana cara memutar atribut kolom XML di T-SQL

Bagaimana menerapkan prinsip KERING ke Pernyataan SQL yang Memotong Bulan

Dalam kasus khusus Anda (menggunakan pivot ANSI alih-alih fitur PIVOT SQL Server 2005):

DECLARE @template AS varchar(max)
SET @template = 'SELECT 
SKU1
{COLUMN_LIST}
FROM
OrderDetailDeliveryReview
Group By
OrderShipToID,
DeliveryDate,
SKU1
'

DECLARE @column_list AS varchar(max)
SELECT @column_list = COALESCE(@column_list, ',') + 'SUM(Case When Sku2=' + CONVERT(varchar, Sku2) + ' Then Quantity Else 0 End) As [' + CONVERT(varchar, Sku2) + '],' 
FROM OrderDetailDeliveryReview
GROUP BY Sku2
ORDER BY Sku2

Set @column_list = Left(@column_list,Len(@column_list)-1)

SET @template = REPLACE(@template, '{COLUMN_LIST}', @column_list)

EXEC (@template)


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

  2. Pengkodean karakter default SQL Server

  3. scope_identity vs ident_current

  4. Cara Membuat Database di SQL Server Dengan Menggunakan TSQL atau GUI - Tutorial SQL Server / TSQL Part 24

  5. Pernyataan BERGABUNG Bersyarat SQL Server