PL SQL Listagg() Kullanımı

Oracle veri tabanında Pl SQL kullanarak bir tablodaki verileri kategorize ederek aynı kolonda sıralamamız mümkün. Örneğin; aşağıda Materyal isminde tablomuz olsun. Tek tabloda Departmanlara göre demirbaşlarını aynı satırda sıralatabiliriz. (İki kolonumuz var Departman ve Demirbas)

DepartmanDemirbas
SatışKlima
İnsan KaynaklarıHalı
SatışMasa
SatışSandalye
SatışÇerçeve
İnsan KaynaklarıKilim
İdari İşlerSaat
İnsan KaynaklarıKoltuk

Listagg syntax ı aşağıdaki şekilde görüldüğü gibidir;

SELECT
    departman,
    LISTAGG(
        demirbas,
        ','
    ) WITHIN GROUP(
    ORDER BY
        demirbas
    ) AS Demirbaslar
FROM
    Materyal
GROUP BY
    departman
ORDER BY
    departman;

bu kodu çalıştırdığımızda aşağıdaki şekilde görüntülenecektir.

DepartmanDemirbaslar
SatışKlima,Masa,Sandalye,Çerçeve
İnsan KaynaklarıHalı,Kilim,Koltuk
İdari İşlerSaat

Görüldüğü gibi bir sütundaki değerleri gruplayarak aralarına virgül gibi ayraçlar koyup tek hücrede göstermemiz mümkün.