Genel Bilgiler

SQL Server
View
✅ Etkilenmez
23.12.2025 07:15
23.12.2025 16:10

Notlar

Düzenle

Henüz not eklenmemiş.

+ Not ekle

İstatistikler

3
Kod Analizi
7
Satır
2
Kullandığı
2
Kullanan

Kullandığı Nesneler (2)

USES_VIEW
JOINS

Bağımlılık Ağacı

Tam SQL Kodu

Düzenle
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üzenle
Adım 1
FROM 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.

Adım 2
LEFT OUTER JOIN dbo.PLAS_RAPOR_PLAKALAR AS P
  ON G.PLAS = P.PLAS
  • Amaç: Her G.PLAS için, PLAS_RAPOR_PLAKALAR tablosundaki PLAKA bilgisini getirmek.

  • LEFT JOIN olduğu için:

    • Plasiyerin plakası bulunamazsa yine de gider satırları kaybolmaz; P.PLAKA NULL 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.)

Adım 3
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.TUTAR toplanır ve AYLIK_TOPLAM olur.

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”