CASE ile pivot
- SQL kursu
- İleri seviye
- Ders 25/81
- 4 dk
CASE ve aggregate ile pivot yapmayı öğrenirsin.
CASE ile pivot
CASE ve SUM ile pivot yapılır. Her kategori bir sütun olur.
SELECT
SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap,
SUM(CASE WHEN category = 'Elektronik' THEN amount ELSE 0 END) AS Elektronik
FROM sales;Örnekte: iki kategori için iki sütun.
sales kaynağından SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) … seçilir.
CASE ile pivot — ayrıntı
CASE ile kategoriye göre değer üret, SUM ile topla. Her kategori ayrı sütun olur.
Eşleşmeyen satırlar için ELSE 0 yazmak önemlidir; ELSE yazmazsan CASE NULL döner ve SUM yine çalışsa da COUNT gibi fonksiyonlar yanlış sonuç verebilir.
Uygulama CASE ile pivot
SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) ile Kitap sütunu üret.
Başlangıç kodu
-- case ile pivot
SELECT
SUM(Örnek çözüm
SELECT
SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap,
SUM(CASE WHEN category = 'Elektronik' THEN amount ELSE 0 END) AS Elektronik
FROM sales;Beklenen çıktı
Kitap 200
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 SUM ekle
SELECT
____(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap
FROM sales;
SELECT
SUM(CASE WHEN category = 'Kitap' THEN amount ELSE 0 END) AS Kitap
FROM sales;
Açıklama: CASE yalnızca eşleşen satırda tutarı, diğerlerinde 0 verir; SUM bunları toplayıp sütunu oluşturur.
2 CASE ile pivot'ta ne toplanır?
- CASE sonucu Doğru cevap
- Tüm satırlar
- İndeks
- Sütun adı
Açıklama: CASE sonucu SUM ile toplanır.
3 CASE ile pivot: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
CASE |
koşul |
SUM |
topla |
kategori |
sütun |
pivot |
çevir |