Hi, Mas bro,....
Aku mau berbagi ilmu lagi nich mas bro,
mumpung aku inget ya...
Bagaimana caranya mengubah kolom menjadi baris di SQL Server :)
Gini....ni..cara ngebuatnya mas bro :)
Langkahnya :
Buka SQL SERVER Editor, lalu Copy Paste Script dibawah ini mas bro
--Membuat table temporary create table #Temp_Table ( id_customer int, book varchar(64), price int, qty int, tahun_terbit int ) insert into #Temp_Table values ('1','SQL Backup','1200000','10','2016') insert into #Temp_Table values ('2','Hosting SQL','1500000','20','2016') insert into #Temp_Table values ('3','SQL Server Training','2000000','15','2016') insert into #Temp_Table values ('4','Database Administrator','1000000','22','2016') insert into #Temp_Table values ('5','Cloud Database','130000','31','2017') insert into #Temp_Table values ('6','Cloud Database 1','130000','31','2017') insert into #Temp_Table values ('7','Cloud Database 2','130000','31','2018') insert into #Temp_Table values ('8','Cloud Database 3','130000','31','2018') insert into #Temp_Table values ('9','Cloud Database 4','130000','31','2018') insert into #Temp_Table values ('10','Cloud Database 5','130000','31','2018') --Deklarasikan variabel-variabel yang diperlukan DECLARE @SQLQuery AS NVARCHAR(MAX) DECLARE @PivotColumns AS NVARCHAR(MAX) --mendapatkan kolom yang akan di jadikan kunci pada pivot column SELECT @PivotColumns= COALESCE(@PivotColumns + ',','') + QUOTENAME(tahun_terbit) FROM (SELECT DISTINCT tahun_terbit FROM [dbo].[#Temp_Table]) AS PivotExample --Membuat Query dinamis dengan semua nilai untuk kolom pivot pada waktu proses SET @SQLQuery = N'SELECT DISTINCT id_customer,book,price, ' + @PivotColumns + ' FROM [dbo].[#Temp_Table] PIVOT( sum(qty) FOR tahun_terbit IN (' + @PivotColumns + ')) AS P' --Jalankan Query Dinamis yang tadi sudah di jabarkan EXEC sp_executesql @SQLQuery
Ini Hasilnya :
Selamat mencoba Mas Bro :)