SQL Server’da Unpivot Tablo Oluşturmak
Herkese merhaba. Bu yazıda SQL Server’da Unpivot Tablo oluşturma işleminden bahsedeceğim.
Unpivot kısaca verilerin bulundugu tabloyu dikey olarak çevirmek için kullanılan bir komuttur.
İşlemi daha iyi anlamak adına aşağıdaki örneği inceleyelim.
--Tablo oluşturulması
CREATE TABLE UrunMaliyetleri
(
Tarih DATETIME,
AMaliyeti NUMERIC(25, 6),
BMaliyeti NUMERIC(25, 6),
CMaliyeti NUMERIC(25, 6),
DMaliyeti NUMERIC(25, 6),
EMaliyeti NUMERIC(25, 6),
FMaliyeti NUMERIC(25, 6)
);
--Verilerin Eklenmesi
INSERT INTO dbo.UrunMaliyetleri
(
Tarih,
AMaliyeti,
BMaliyeti,
CMaliyeti,
DMaliyeti,
EMaliyeti,
FMaliyeti
)
VALUES
(GETDATE() - 7, 10, 20, 30, 40, 50, 60),
(GETDATE(), 20, 40, 60, 80, 100, 120);
--Tabloların kontrol edilmesi
SELECT *
FROM dbo.UrunMaliyetleri;
--Unpivot oluşturulması
SELECT t.Tarih,
t.Maliyet,
t.MaliyetTuru
FROM dbo.UrunMaliyetleri tablo
UNPIVOT
(
Maliyet
FOR MaliyetTuru IN (AMaliyeti, BMaliyeti, CMaliyeti, DMaliyeti, EMaliyeti, FMaliyeti)
) AS t;
Tablomuz ilk başta şu şekildeydi.
Unpivot komutu ile düzenlediğimiz sorguyu çalıştırınca aşağıdaki gibi bir sonuç almış olacaksınız.
Görüldüğü üzere unpivot tablo oluşturma işlemi yapılmış oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.