﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sql pivot kullanımı &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-pivot-kullanimi/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Fri, 17 Sep 2021 19:30:11 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>SQL Server’da PIVOT ve UNPIVOT Kullanımı</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-pivot-ve-unpivot-kullanimi</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Fri, 17 Sep 2021 19:20:34 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[PIVOT ve UNPIVOT Kullanımı]]></category>
		<category><![CDATA[sql pivot kullanımı]]></category>
		<category><![CDATA[sql unpivot kullanımı]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=10786</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server’da PIVOT ve UNPIVOT kullanımından bahsedeceğim. SQL Server&#8217;da yazdığımız sorguları görsel açıdan daha anlamlı ve okunabilir görmek istediğimiz zaman kullanılan...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server’da PIVOT ve UNPIVOT kullanımından bahsedeceğim.</p>
<p>SQL Server&#8217;da yazdığımız sorguları görsel açıdan daha anlamlı ve okunabilir görmek istediğimiz zaman kullanılan yapılardır diyebiliriz.</p>
<p>PIVOT en basit haliyle alt alta sıralanmış kayıtları yan yana getirmeye yarar.</p>
<p>PIVOT işlemini anlamak için ilk olarak aşağıdaki tabloyu oluşturun ve kayıtları tablo içerisine ekleyin.</p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE Ogrenciler
(
    Id INT PRIMARY KEY IDENTITY,
    OgrenciAdi VARCHAR(50),
    Kurs VARCHAR(50),
    DersNotu INT
);
GO

INSERT INTO Ogrenciler
VALUES
('Yavuz', 'Türkçe', 85);
INSERT INTO Ogrenciler
VALUES
('Yavuz', 'Matematik', 65);
INSERT INTO Ogrenciler
VALUES
('Pelin', 'Türkçe', 75);
INSERT INTO Ogrenciler
VALUES
('Pelin', 'Matematik', 95);</code></pre>
<p>Sorguyu çalıştırınca tablo oluşacak ve içindeki kayıtlar tabloya eklenmiş olacaktır.</p>
<p>Şimdi PIVOT ifadesini görelim.</p>
<pre class="line-numbers"><code class="language-sql">--PIVOT Sorgumuz

SELECT *
FROM
(SELECT OgrenciAdi, DersNotu, Kurs FROM Ogrenciler) AS OgrenciTablosu
PIVOT
(
    SUM(DersNotu)
    FOR Kurs IN ([Türkçe], [Matematik])
) AS OgrenciPivotTablosu;</code></pre>
<p>Sorguyu çalıştırınca aşağıdaki ifadeyi göreceksiniz.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-10788 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-1.jpg" alt="SQL Server’da PIVOT ve UNPIVOT Kullanımı" width="700" height="513" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-1-315x231.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-1-409x300.jpg 409w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-1-184x135.jpg 184w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere daha anlamlı bir şekilde sonuçlar görülmüş oldu. PIVOT en sade haliyle bu şekildedir.</p>
<p>Peki UNPIVOT nedir?</p>
<p>UNPIVOT, kısaca tablo sütunlarını satırlara dönüştürmek için kullanılan bir yapıdır diyebiliriz.</p>
<p>UNPIVOT işlemini anlamak için ilk olarak aşağıdaki tabloyu oluşturun ve kayıtları tablo içerisine ekleyin.</p>
<pre class="line-numbers"><code class="language-sql">CREATE TABLE Ogrenciler2
(
    Id INT PRIMARY KEY IDENTITY,
    OgrenciAdi VARCHAR(50),
    Matematik INT,
    Türkçe INT,
    İngilizce INT,
    Fen INT
);
GO

INSERT INTO Ogrenciler2
VALUES
('Yavuz', 68, 45, 74, 92);
INSERT INTO Ogrenciler2
VALUES
('Pelin', 77, 78, 82, 79);</code></pre>
<p>Sorguyu çalıştırınca tablo oluşacak ve içindeki kayıtlar tabloya eklenmiş olacaktır.</p>
<p>Şimdi UNPIVOT ifadesini görelim.</p>
<pre class="line-numbers"><code class="language-sql">--UNPIVOT Sorgumuz

SELECT OgrenciAdi, Kurs, DersNotu
FROM Ogrenciler2
UNPIVOT
(
	DersNotu
	FOR Kurs in (Matematik, Türkçe, İngilizce, Fen)
) AS OgrenciUnPivotTablosu</code></pre>
<p>Sorguyu çalıştırınca aşağıdaki ifadeyi göreceksiniz.</p>
<p><img decoding="async" class="alignnone wp-image-10789 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-2.jpg" alt="SQL Server’da PIVOT ve UNPIVOT Kullanımı" width="766" height="668" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-2.jpg 766w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-2-310x270.jpg 310w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-2-344x300.jpg 344w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-2-155x135.jpg 155w" sizes="(max-width: 766px) 100vw, 766px" /></p>
<p>Görüldüğü üzere iki satır olan tablomuzu Kurs ve Ders Notu kolonları varmışçasına göstermiş olduk.</p>
<p>Bazı durumlarda PIVOT halde olan sorgular UNPIVOT hale dönüştürülebiliyor ya da istenen raporun türüne göre de sıfırdan kullanılabiliyor.</p>
<p>UNPIVOT biraz karışık  gelebilir. Yukarıdaki sorguyu şöyle düşünebilirsiniz. Kursa göre ders notlarını öğrenci adına göre görmek istiyorum dediniz. İşte bu sorgu tam işinize yarayan sorgu.</p>
<p>Diyelim ki Yavuz&#8217;un ders notlarını özel görmek istiyorum. Sonrasında programlama tarafında ekrana bu tabloya basacağım. Kişi adını web sayfasında ya da masaüstü programda en tepede bir şekilde gösterdiğinizi düşünelim. O zaman aşağıdaki sorgu işinize yarayacaktır. Tabi siz bu işlemi programlama tarafını parametrik yapmalısınız.</p>
<pre class="line-numbers"><code class="language-sql">SELECT Kurs, DersNotu
FROM Ogrenciler2
UNPIVOT
(
	DersNotu
	FOR Kurs in (Matematik, Türkçe, İngilizce, Fen)
) AS OgrenciUnPivotTablosu
WHERE OgrenciUnPivotTablosu.OgrenciAdi='Yavuz'</code></pre>
<p>Kodu çalıştırdığınızda aşağıdaki sonucu göreceksiniz.</p>
<p><img decoding="async" class="alignnone wp-image-10790 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-3.jpg" alt="SQL Server’da PIVOT ve UNPIVOT Kullanımı" width="700" height="526" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-3.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-3-315x237.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-3-399x300.jpg 399w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-pivot-ve-unpivot-kullanimi-3-180x135.jpg 180w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Yavuz&#8217;un notları gelmiş oldu.</p>
<p>Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.</p>
<div class='epvc-post-count'><span class='epvc-eye'></span>  <span class="epvc-count"> 1.356</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
