SQL Server WITH CUBE Kullanımı

Herkese merhaba,

Bu bölümde sizlere WITH CUBE kullanımından bahsedeceğim.

WITH CUBE komutu  istatistiksel sonuçlar çıkartılmasında işe yarayan bir deyimdir. Değerlerin tüm kombinasyonu için ara özet satır oluşturma işlemi yapar. WITH CUBE deyiminin WITH ROLLUP deyiminden tek farkı Group By deyiminde kullanılmış sütunların değerlerinin tüm kombinasyonu kadar özet oluşturmasıdır. Örnek kullanımı aşağıdaki gibidir.

CREATE TABLE Calisanlar(
BolumNumarasi CHAR(1),
BolumAdi NVARCHAR(100),
KisiAdedi INT
)

--A Bölümü için kodlar


INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'A' , -- BolumNumarasi - char(1)
          N'Hizmet' , -- BolumAdi - nvarchar(100)
          2  -- KisiAdedi - int
        )


INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'A' , -- BolumNumarasi - char(1)
          N'Bilgisayar' , -- BolumAdi - nvarchar(100)
          1  -- KisiAdedi - int
        )

INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'A' , -- BolumNumarasi - char(1)
          N'Muhasebe' , -- BolumAdi - nvarchar(100)
          1  -- KisiAdedi - int
        )

--B BÖlümü için kodlar

INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'B' , -- BolumNumarasi - char(1)
          N'Hizmet' , -- BolumAdi - nvarchar(100)
          4  -- KisiAdedi - int
        )


INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'B' , -- BolumNumarasi - char(1)
          N'Bilgisayar' , -- BolumAdi - nvarchar(100)
          3  -- KisiAdedi - int
        )

INSERT INTO dbo.Calisanlar
        ( BolumNumarasi ,
          BolumAdi ,
          KisiAdedi
        )
VALUES  ( 'B' , -- BolumNumarasi - char(1)
          N'Muhasebe' , -- BolumAdi - nvarchar(100)
          6  -- KisiAdedi - int
        )


--Örnek

SELECT  BolumNumarasi ,
        BolumAdi ,
        SUM(KisiAdedi) AS Toplam
FROM    dbo.Calisanlar
GROUP BY BolumNumarasi ,
        BolumAdi
        WITH CUBE

Görüldüğü üzere birçok ara toplam vererek bize özet bir yapı sunmuştur.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

504 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!