﻿<?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 Server&#8217;da Dinamik Pivot &#8211; SQL Server Eğitimleri</title>
	<atom:link href="https://sqlserveregitimleri.com/etiket/sql-serverda-dinamik-pivot/feed" rel="self" type="application/rss+xml" />
	<link>https://sqlserveregitimleri.com</link>
	<description>SQL Server ile ilgili her şey</description>
	<lastBuildDate>Mon, 27 Mar 2023 20:05:58 +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&#8217;da Dinamik Pivot Kullanımı</title>
		<link>https://sqlserveregitimleri.com/sql-serverda-dinamik-pivot-kullanimi</link>
		
		<dc:creator><![CDATA[Yavuz Selim Kart]]></dc:creator>
		<pubDate>Thu, 23 Sep 2021 10:25:55 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Dinamik Pivot Kullanımı]]></category>
		<category><![CDATA[SQL Server'da Dinamik Pivot]]></category>
		<category><![CDATA[SQL Server'da Dinamik Pivot Kullanımı]]></category>
		<guid isPermaLink="false">https://sqlserveregitimleri.com/?p=10815</guid>

					<description><![CDATA[Herkese merhaba, Bu yazıda SQL Server’da Dinamik Pivot kullanımından bahsedeceğim. Pivot hakkında bilgi edinmek için aşağıdaki makaleyi okuyun. SQL Server&#8217;da ihtiyaçlar neticesinde Dinamik Pivot kullanma...]]></description>
										<content:encoded><![CDATA[<p>Herkese merhaba,</p>
<p>Bu yazıda SQL Server’da Dinamik Pivot kullanımından bahsedeceğim.</p>
<p>Pivot hakkında bilgi edinmek için aşağıdaki makaleyi okuyun.</p>
<div style="clear:both; margin-top:0em; margin-bottom:1em;"><a href="https://sqlserveregitimleri.com/sql-serverda-pivot-kullanimi" target="_blank" rel="dofollow" class="u3db7f529bb51ea522123be16449c0520"><style> .u3db7f529bb51ea522123be16449c0520 , .u3db7f529bb51ea522123be16449c0520 .postImageUrl , .u3db7f529bb51ea522123be16449c0520 .centered-text-area { min-height: 80px; position: relative; } .u3db7f529bb51ea522123be16449c0520 , .u3db7f529bb51ea522123be16449c0520:hover , .u3db7f529bb51ea522123be16449c0520:visited , .u3db7f529bb51ea522123be16449c0520:active { border:0!important; } .u3db7f529bb51ea522123be16449c0520 .clearfix:after { content: ""; display: table; clear: both; } .u3db7f529bb51ea522123be16449c0520 { display: block; transition: background-color 250ms; webkit-transition: background-color 250ms; width: 100%; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #3498DB; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.17); } .u3db7f529bb51ea522123be16449c0520:active , .u3db7f529bb51ea522123be16449c0520:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; background-color: #E74C3C; } .u3db7f529bb51ea522123be16449c0520 .centered-text-area { width: 100%; position: relative; } .u3db7f529bb51ea522123be16449c0520 .ctaText { border-bottom: 0 solid #fff; color: #FFFFFF; font-size: 16px; font-weight: bold; margin: 0; padding: 0; text-decoration: underline; } .u3db7f529bb51ea522123be16449c0520 .postTitle { color: #FFFFFF; font-size: 16px; font-weight: 600; margin: 0; padding: 0; width: 100%; } .u3db7f529bb51ea522123be16449c0520 .ctaButton { background-color: #2980B9!important; color: #FFFFFF; border: none; border-radius: 3px; box-shadow: none; font-size: 14px; font-weight: bold; line-height: 26px; moz-border-radius: 3px; text-align: center; text-decoration: none; text-shadow: none; width: 80px; min-height: 80px; background: url(https://sqlserveregitimleri.com/wp-content/plugins/intelly-related-posts/assets/images/simple-arrow.png)no-repeat; position: absolute; right: 0; top: 0; } .u3db7f529bb51ea522123be16449c0520:hover .ctaButton { background-color: #C0392B!important; } .u3db7f529bb51ea522123be16449c0520 .centered-text { display: table; height: 80px; padding-left: 18px; top: 0; } .u3db7f529bb51ea522123be16449c0520 .u3db7f529bb51ea522123be16449c0520-content { display: table-cell; margin: 0; padding: 0; padding-right: 108px; position: relative; vertical-align: middle; width: 100%; } .u3db7f529bb51ea522123be16449c0520:after { content: ""; display: block; clear: both; } </style><div class="centered-text-area"><div class="centered-text" style="float: left;"><div class="u3db7f529bb51ea522123be16449c0520-content"><span class="ctaText"></span>&nbsp; <span class="postTitle">SQL Server’da Pivot Kullanımı</span></div></div></div><div class="ctaButton"></div></a></div>
<p>SQL Server&#8217;da ihtiyaçlar neticesinde Dinamik Pivot kullanma ihtiyacı hissetmiş olabilirsiniz. Aslına bakılırsa çoğu raporlama işleminde dinamik olması büyük önem arz etmektedir.</p>
<p>Aşağıda konu ile ilgili basit bir örnek yaptım. Bu örnekten yola çıkarak sizler de kendi dinamik Pivot sorunlarınızı çözebilirsiniz.</p>
<p>İlk olarak basit bir tablo oluşturdum ve içerisine verileri ekledim.</p>
<pre class="line-numbers"><code class="language-sql">--Tablonun oluşturulması

CREATE TABLE DinamikTablo
(
    Tarih DATETIME,
    Kategori VARCHAR(30),
    Ucret MONEY
);


--Tabloya veri eklenmesi

INSERT INTO DinamikTablo
VALUES
('2021.09.21', 'Mobilya', 2000.00);
INSERT INTO DinamikTablo
VALUES
('2021.06.21', 'Beyaz Eşya', 500.00);
INSERT INTO DinamikTablo
VALUES
('2021.09.12', 'Elektronik', 1800.00);
INSERT INTO DinamikTablo
VALUES
('2021.08.21', 'Beyaz Eşya', 700.00);
INSERT INTO DinamikTablo
VALUES
('2021.07.21', 'Mobilya', 3100.00);</code></pre>
<p>Şimdi dinamik pivotumuzu oluşturalım.</p>
<pre class="line-numbers"><code class="language-sql">--Dinamik Pivot Kullanımı

DECLARE @KategoriKolonları AS NVARCHAR(MAX),
    @DinamikSorgu  AS NVARCHAR(MAX);

SET @KategoriKolonları = STUFF(
                         (
                             SELECT DISTINCT
                                    ',' + QUOTENAME(dt.Kategori)
                             FROM DinamikTablo dt
                             FOR XML PATH(''), TYPE
                         ).value('.', 'NVARCHAR(MAX)'),
                         1,
                         1,
                         ''
                     );

SET @DinamikSorgu
    = N'SELECT Tarih, ' + @KategoriKolonları
      + N' FROM 
            (
                SELECT Tarih
                    , Ucret
                    , Kategori
                FROM DinamikTablo
           ) x
            PIVOT 
            (
                 MAX(Ucret)
                FOR Kategori in (' + @KategoriKolonları + N')
            ) P ';


EXECUTE (@DinamikSorgu);</code></pre>
<p><strong>@KategoriKolonları</strong> değişkeni içerisine kategori adlarını çektik ve sonrasında pivot içerisinde kullandık. Kısacası @<strong>KategoriKolonları</strong> kısmını dinamik bir şekle getirmiş olduk.</p>
<p>Sorguyu çalıştırınca aşağıdakine benzer bir sonuç alacaksınız.</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-10818 size-full" src="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-dinamik-pivot-kullanimi-1.jpg" alt="SQL Server'da Dinamik Pivot Kullanımı" width="700" height="485" srcset="https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-dinamik-pivot-kullanimi-1.jpg 700w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-dinamik-pivot-kullanimi-1-315x218.jpg 315w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-dinamik-pivot-kullanimi-1-433x300.jpg 433w, https://sqlserveregitimleri.com/wp-content/uploads/2021/09/sql-serverda-dinamik-pivot-kullanimi-1-195x135.jpg 195w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>Görüldüğü üzere Dinamik Pivot elde etmiş olduk.</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"> 892</span><span class='epvc-label'> Kez Okundu</span></div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
