SEO (Arama Motoru Optimizasyonu) Mikro İnteraktif ÜCRETSİZ - Google Play'den İndirin

Oracle'da LISTAGG Fonksiyonuyla Birden Fazla Kaydı Tek Satırda Gösterme İşlemi

Oracle veritabanında bazı tekil verilerin çoğul karşılıklarının gösteriminde tekil verileri çoklamayacak şekilde gösterimini sağlayan LISTAGG fonksiyonunu inceliyoruz.

Karmaşık olmayan bir tablo yapısıyla başlayıp basit örneklerle makalemizi inşaa edelim. Kişilerin okuduğu kitapların bilgisini tutan basit bir tablo oluşturalım.
Kitaplar Tablosu
CREATE TABLE KITAPLAR
(
ID NUMBER(10) GENERATED BY DEFAULT AS IDENTITY,
AD_SOYAD VARCHAR2(50),
KITAP_ADI VARCHAR2(100),
CONSTRAINT PK_KITAPLAR PRIMARY KEY(ID)
)

Örnekler yapmak için kayıt eklemesi yapalım tabloya.
Kitaplar Tablosu
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Karagöz ile Hacivat');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Simyacı');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', '1984');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Ahmed Çalışkan', 'Define Adası');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Şeker Portakalı');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Beni Ödülle Cezalandırma');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Asmin Tuna', 'Uçurtma Avcısı');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Cesur Yeni Dünya');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Yabancı');
INSERT INTO KITAPLAR (AD_SOYAD, KITAP_ADI) VALUES ('Yusuf Baran', 'Sakız Sardunya');

Eklemiş olduğumuz kayıtları veritabanında görmek için bir SELECT sorgusu yazalım.
Kayıtları Listeleyelim
Oracle'da LISTAGG Fonksiyonuyla Birden Fazla Kaydı Tek Satırda Gösterme İşlemi


Uygun kayıtları veritabanına ekledik. Sıra Oracle'de halihazırda gelen LISTAGG fonksiyonunu kullanmaya geldi.
LISTAGG Fonksiyonu
SELECT
AD_SOYAD, LISTAGG(KITAP_ADI, ', ') WITHIN GROUP (ORDER BY KITAP_ADI) AS OKUNAN_KITAPLAR
FROM
KITAPLAR
GROUP BY
AD_SOYAD
ORDER BY
AD_SOYAD;

Sorgu sonucunu inceleyelim. Sonuç olarak kişileri tekil olarak gösterip her bir kişinin okuduğu kitapları liste halinde alıp "Kişi - Kitaplar" şeklinde gösterimini sağlamış olduk.
Örnek
Oracle'da LISTAGG Fonksiyonuyla Birden Fazla Kaydı Tek Satırda Gösterme İşlemi

Yorumlar

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

REKLAM

Çocuk Etkinlikleri Uygulaması

EN

  • Popüler
  • Yeni
  • Son Yorum