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)
Departman | Demirbas |
Satış | Klima |
İnsan Kaynakları | Halı |
Satış | Masa |
Satış | Sandalye |
Satış | Çerçeve |
İnsan Kaynakları | Kilim |
İdari İşler | Saat |
İ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.
Departman | Demirbaslar |
Satış | Klima,Masa,Sandalye,Çerçeve |
İnsan Kaynakları | Halı,Kilim,Koltuk |
İdari İşler | Saat |
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.