sex geschichten - sex geschichten - sex stories - sex stories - sex geschichten - xnxx - sex geschichten - xnxx - porno - xhamster - xhamster - hd porno - sex geschichten - xvideos - sex videos - xvideos - brazzers - sex geschichten - pornhub - redtube - sex geschichten - sex stories - xhamster - xnxx - xvideos - youporn - brazzers - brazzers - porno - porno - brazzers - youporn - brazzers - hd porno - sex geschichten - xhamster - xnxx - xvideos - youporn - porno - xhamster - xnxx - xnxx - sex geschichten - xnxx - xnxx - xvideos - youporn - pornos - xnxx - redtube - pornhub - xnxx

Oracle / PLSQL: PIVOT Kullanımı

Bugün Bana da lazım olan ve herkesin işine yarayacak Oracle de Pivot kullamını anlatmaya çalışacağım.

Açıklama

Oracle PIVOT yan tümcesi, Oracle 11g’den başlayarak çapraz tablo oluşturma sorgusu oluşturmanıza izin verir. Bu, sonuçlarınızı toplayıp satırları sütunlara döndürebileceğiniz anlamına gelir.

Kullanımı

The syntax for the PIVOT clause in Oracle/PLSQL is:

Parametreler veya Argümanlar

kullanilacak_fonksiyon
SUM,COUNT,MIN,MAX  yada AVG fonksiyonlarını kullanabiliyoruz.
IN ( deger1, deger2, … deger_n )

Çapraz tablolama sorgu sonuçlarındaki başlıklara dönmek için alan2 için bir değer listesi.
alt sorgu
Bir değer listesi yerine kullanılabilir. Bu durumda, alt sorgunun sonuçları, çapraz tablo oluşturma sorgu sonuçlarındaki başlıklara dönmek için alan2 değerlerini belirlemek için kullanılır.

Kullanılabilir Sürümler

PIVOT fonksiyonu sadece aşağıdaki sürümlerde geçerlidir. Önceki sürümlerde mevcut değildir. SQL server çoktan beri olmasına karşı ORACLE ye yeni ekleyebilmişler.

  • Oracle 12c, Oracle 11g

Örnek

Oracle’da PIVOT yan tümcesinin nasıl kullanılacağını inceleyelim.

Örneğimizi aşağıdaki tanımlamayla siparişler denilen bir tabloya dayandırırız:

Bu örneğe ait verileri göstermek için, aşağıdaki SELECT deyimiyle sipariş tablosundaki kayıtları seçeceğiz:

Bunlar siparisler tablolarındaki kayıtlardır. Bu kayıtları, PIVOT maddesinin nasıl çalıştığını göstermek için kullanacağız:

order_id customer_ref product_id
50001 İSMAİL 10
50002 İSMAİL 20
50003 AHMET 30
50004 AHMET 40
50005 ERKAN 10
50006 ERKAN 20
50007 İSMAİL 20
50008 İSMAİL 10
50009 İSMAİL 20

Şimdi, aşağıdaki PIVOT yan tümcesini kullanarak tablolar arası sorguyu oluşturalım:

Bu örnekte, PIVOT yan tümcesi aşağıdaki sonuçları döndürür:

customer_ref 10 20 30
AHMET 0 0 1
ERKAN 1 1 0
İSMAİL 2 3 0

Burda dikkat etmemiz gereken önemli bir noktada PIVOT ta kullanacağımız değerlerin sayısal(integer) yada alfasayısal (stging) olmasıdır. String ifadeleri tek tırnak (‘) içine almamız gerekiyor.

 

Şimdi, PIVOT maddesini parçalayıp nasıl çalıştığını açıklayalım.

Dahil Edilecek Alanları Belirtin

Önce, çapraz tablolamaya hangi alanların ekleneceğini belirtmek istiyoruz. Bu örnekte, customer_ref ve product_id alanlarını eklemek istiyoruz. Bu, ifadenin aşağıdaki bölümüyle yapılır:

Sütunları herhangi bir sıraya göre listeleyebilirsiniz.

Toplam İşlevi Belirtin

Ardından, tablolar arası sorguyu oluştururken hangi toplama işlevi kullanılacağını belirtmeliyiz. SUM, COUNT, MIN, MAX veya AVG işlevleri gibi herhangi bir topluluğu kullanabilirsiniz.

Bu örnekte, COUNT işlevini kullanacağız. Bu, ölçütlerimizi karşılayan product_id değerlerinin sayısını sayacaktır. Bu, ifadenin aşağıdaki bölümüyle yapılır:

Pivot Değerlerini Belirtin

Son olarak, sonuçlarımıza hangi pivot değerlerini ekleyeceğinizi belirtmeliyiz. Çapraz tablolama sorgumuzda bunlar sütun başlıkları olarak kullanılacaktır. Pivot değerlerini belirtmek için parantez içine alınmış değerlerin bir listesini veya bir alt sorguyu kullanabilirsiniz.

Bu örnekte, yalnızca aşağıdaki product_id değerlerini döndürmek istiyoruz: 10, 20, 30. Bu değerler, tablolar arası sorgudaki sütun başlıklarımıza dönüşecektir. Ayrıca, bu değerlerin product_id değerlerinin sınırlı bir listesi olduğunu ve olası tüm değerleri içerebileceğini unutmayın.

Bu, ifadenin aşağıdaki bölümüyle yapılır:

Şimdi hepsini bir araya getirdiğimizde aşağıdaki pivot tabloyu elde ettik:

 

customer_ref 10 20 30
AHMET 0 0 1
ERKAN 1 1 0
İSMAİL 2 3 0

Oracle / PLSQL: PIVOT Kullanımı” için bir yorum

  • 6 Aralık 2018 tarihinde, saat 10:13
    Permalink

    Merhaba ,

    Aşağıdaki alana (10,20,30) yani sütun başlıklarını manuel değilde sorguyla atayabilmem için ne yapmam gerekir.Select cümlesi ile yazdığımda kabul etmemektedir.

    Yardımınız için tşk.

    1
    2

      FOR product_id IN (10, 20, 30)
    )

    Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

DMCA.com Protection Status