Oracle / Pl sql LISTAGG Fonksiyonu

Merhabalar, bu yazıda sizlere oracle listagg fonksiyonu ile ilgili bir örnek paylaşmak istiyorum. Hepimiz çalıştığımız projelerde muhakkak bazı raporlarımızda bir çok satır da yer alan veriyi tek bir satır içinde gösterme ihtiyacımız olmuştur. Bir kaç örnek vermek gerekirse örneğin bir alışveriş listesinde 20 adet ürünümüz var ve bunların 20 satır olması yerine sadece tek bir satır içinde yan yana yazdırmak istiyoruz. Ya da benim sizinle bu yazıda paylaşacağım örnekteki gibi bir kişinin eğitim hayatı boyunca eğitim gördüğü okulların listesinin tek bir satırda gösterilmesini örnekleyelim.

Tablomuz üç alandan oluşsun üye numarası okul adı ve okul sırası ;

listagg1

SELECT UYE_NO,LISTAGG(OKUL_ADI,’, ‘)WITHINGROUP(ORDER BY OKUL_SIRA ASC) OKUL_BILGILERI FROM UYE_LISTESI GROUP BY UYE_NO;

Yukarıdaki sorguyu örnek tablomuz için çalıştırdığımız aşağıdaki şekilde sonuçları elde etmiş olacağız.

listagg2

İyi çalışmalar 🙂

Reklamlar
Bu yazı Pure SQL / PLSQL, sql, Veri Tabanı içinde yayınlandı ve , , , , , , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s