Genel Bilgiler
İstatistikler
→ Kullandığı Nesneler (2)
← Kullanan Nesneler (2)
→ Bağımlılık Ağacı
- 001_PLASIYER_GIDER_LISTESIUSES_VIEW
- TuketimRaporuREFERENCES
- PLAS_RAPOR_PLAKALARJOINS
- PLAS_RAPOR_PLAKALARJOINS
← Etki Ağacı
Tam SQL Kodu
CREATE VIEW dbo.[001_PLASIYER_SIRALI_AYLIK_GIDERLER]
AS
SELECT G.PLAS, P.PLAKA, G.AY, G.YIL, SUM(G.TUTAR) AS AYLIK_TOPLAM
FROM dbo.[001_PLASIYER_GIDER_LISTESI] AS G LEFT OUTER JOIN
dbo.PLAS_RAPOR_PLAKALAR AS P ON G.PLAS = P.PLAS
GROUP BY G.PLAS, P.PLAKA, G.AY, G.YIL
Kodun Çalışma Mantığı (Adım Adım)
Analiz Ekle/DüzenleFROM dbo.[001_PLASIYER_GIDER_LISTESI] AS G
Buradan gelen satırlar tek tek gider kayıtları: (TARIH/ACK/TUTAR/PLAS/GIDER/AY/YIL/TUR/DEF gibi)
-
Bu view bu satırları detayda bırakmıyor, toplama yapacak.
LEFT OUTER JOIN dbo.PLAS_RAPOR_PLAKALAR AS P
ON G.PLAS = P.PLAS
Amaç: Her
G.PLASiçin,PLAS_RAPOR_PLAKALARtablosundakiPLAKAbilgisini getirmek.-
LEFT JOINolduğu için:-
Plasiyerin plakası bulunamazsa yine de gider satırları kaybolmaz;
P.PLAKANULL gelir.
-
Önemli davranış notu:
Eğer PLAS_RAPOR_PLAKALAR tablosunda aynı PLAS için birden fazla plaka varsa, join sonucu gider satırları çoğalır ve SUM(G.TUTAR) olduğundan tutarlar şişebilir. (Bu view’de en kritik risk bu.)
SELECT G.PLAS, P.PLAKA, G.AY, G.YIL, SUM(G.TUTAR) AS AYLIK_TOPLAM
GROUP BY G.PLAS, P.PLAKA, G.AY, G.YIL
Gruplama anahtarı:
PLAS + PLAKA + AY + YIL-
Her grup için
G.TUTARtoplanır veAYLIK_TOPLAMolur.
Sonuç şu tip bir tablo:
-
“Ahmet – 34ABC123 – 3. ay – 2025 – 78.450 TL”
-
“Ahmet – 34ABC123 – 4. ay – 2025 – 52.100 TL”
-
“Mehmet – (plaka yok) – 3. ay – 2025 – 10.200 TL”