Mssql Rollup ve Cube ile Nasıl Toplam Alınır?
Yazdığınız programda satır toplamı alma işini direk olarak veritabanında yapmak isteyebilirsiniz.
Bu işlemi yapabilmek için rollup veya cube komutlarını kullanmanız gerekir.
Aşağıda bunların kullanımını örnekledim;
deneme_not1 isminde şöyle bir tablomuz olsun
Örnek olarak şu kayıtları girelim
rollup ve cube için bir kaç deneme yapıp sonucunu görelim
Görüldüğü üzere rollup ile aldığımız sorgu, group by alanında belirttiğimiz sütunlara göre toplam oluşturuyor, cube ile aldığımız sorgu ise farklı sütun kombinasyonları için tek tek toplamlar oluşturuyor.
Son olarak da mantığı daha net görebilmek için basit bir örnek yapalım
Sorguda dikkatinizi çekmesi gereken bir nokta da isnull() fonksiyonu, cube ve rollup toplamlara bağlı sütun değerini null olarak döndürdüğü için eğer nullsa Toplam yaz mantığıyla bu fonksiyonu kullanabiliyoruz.