İleri Seviye SQL Server Sql Server

SQL Server’da Unpivot Kullanımı

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda SQL Server’da Unpivot kullanımından bahsedeceğim.

SQL Server’da Unpivot verilerin bulunduğu tabloyu çevirmek için kullanılan bir yapıdır diyebiliriz. Pivot kullanımına benzer bir yapısı vardır. İşlemi daha iyi anlamak adına aşağıdaki örneği inceleyelim.

--Tablo oluşturulması

CREATE TABLE dbo.MusteriNumaralari
(
  MusteriID INT PRIMARY KEY, -- FK
  Telefon1 VARCHAR(32),
  Telefon2 VARCHAR(32),
  Telefon3 VARCHAR(32)
)

--Tabloya veri ekleme

INSERT dbo.MusteriNumaralari
  (MusteriID, Telefon1, Telefon2, Telefon3)
VALUES
  (1,'216-491-1111', '216-491-1110', NULL),
  (2,'212-492-2222', NULL, NULL),
  (3,'332-493-3333', '332-493-3330', '332-493-3339');

--Verilerin listelenmesi

SELECT * FROM MusteriNumaralari

--Unpivot oluşturma

SELECT MusteriID, Telefon
FROM
(
  SELECT MusteriID, Telefon1, Telefon2, Telefon3 
  FROM dbo.MusteriNumaralari
) AS cp
UNPIVOT 
(
  Telefon FOR Telefonlar IN (Telefon1, Telefon2, Telefon3)
) AS up;

Burada müşteri numaraları adında bir tablo oluşturduk. Bu tablo içerisine veriler girdik. Sonrasında verilerimizi listeledik. Unpivot kullanımının mantığı Pivot kullanımının mantığı ile benzerdir. Bazı değişiklikler vardır. Bunlardan bir tanesi en başta Select ifadesinde MusteriId sonrası Telefon diye bir değer eklememiz ve bu değeri Unpivot yapısı içinde Telefon for Telefonlar diyerek kullanmamızdır. In yapısı sonrasında ise getirmek istediğimiz alan adlarını belirttik. Umarım anlatabilmişimdir.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

158 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!
Ads Blocker Image Powered by Code Help Pro
Reklam Eklentisi Kullanıyorsunuz

Lütfen bizlere destek için reklam eklentisi olmadan sitemizi ziyaret edin.

Şimdiden teşekkür ederiz.

Powered By
CHP Adblock Detector Plugin | Codehelppro