5 Mayıs 2012 Cumartesi

23. WITH CUBE Kullanımı

  • GROUP BY ile belirtilen sütunların tüm olası eşleşmelerini özetler.
  • Ayrıntılı olarak bilmemiz gereken GROUP By ile grupladığımız listemizde CUBE ve ROLLUP komutlarıyla ara toplam işlemleri yapıyoruz.
  • CUBE komutunun ROLLUP dan farkı bütün sütünlarında null ile ara toplamlarını vermesidir.
  • Eğer ROLLUP kullanarak denerseniz Genel toplam dışında ProductName üzerinde ara toplamları vermeyecektir.
Örnek: Sorgumuzda her sütun için ayrıntılı ara toplam değerlerini  görmekteyiz.
Sorgu: 
SELECT ProductName,CategoryID, SUM(UnitsInStock) AS 'Miktar'
FROM Products
WHERE LEN(ProductName)<5
GROUP BY ProductName,CategoryId
WITH CUBE



NOT: Dikkat etmeniz gereken CUBE ile bütün sütunların değerlerine göre ve toplam olarak sonuç listesine yansıtıldığını görürsünüz. Stokta 74 birim ürün var. 1. kategoride 39 ve 7. kategoride 35 ürün var. Karmaşıklığı azaltmak için sonuç listesini kısalttım WHERE koşulunu kaldırarak diğer bütün kategori ve ürünleri görebilirsiniz.

Ders 24'e geçebilirsiniz.

Hiç yorum yok:

Yorum Gönder