Genel Bilgiler

SQL Server
View
⚠️ Devirde Güncellenmeli
23.12.2025 07:15
23.12.2025 16:10

Notlar

Düzenle

Henüz not eklenmemiş.

+ Not ekle

İstatistikler

4
Kod Analizi
14
Satır
0
Kullandığı
1
Kullanan

Kullandığı Nesneler (0)

Bağımlılık bulunamadı

Kullanan Nesneler (1)

USES_VIEW

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

Bağımlılık bulunamadı

Etki Ağacı

Tam SQL Kodu

Düzenle
CREATE VIEW dbo.[00001_SATIS_ADETLERI]
AS
SELECT        QQ.STOCKREF, SUM(QQ.A2022) AS ADET2022, SUM(QQ.A2021) AS ADET2021
FROM            ((SELECT        STOCKREF, SUM(AMOUNT) AS A2022, 0 AS A2021
                            FROM            [UNIVERSALDB].[dbo].LG_011_08_STLINE
                            WHERE        CANCELLED = 0 AND TRCODE = 8 AND LINETYPE = 0
                            GROUP BY STOCKREF)
                         UNION ALL
                         (SELECT        STOCKREF, 0 AS A2022, SUM(AMOUNT) AS A2021
                          FROM            [UNIVERSALDB].[dbo].LG_011_07_STLINE
                          WHERE        CANCELLED = 0 AND TRCODE = 8 AND LINETYPE = 0
                          GROUP BY STOCKREF)) QQ
GROUP BY QQ.STOCKREF

Kodun Çalışma Mantığı (Adım Adım)

Analiz Ekle/Düzenle
Adım 1
SELECT STOCKREF, SUM(AMOUNT) AS A2022, 0 AS A2021
FROM [UNIVERSALDB].[dbo].LG_011_08_STLINE
WHERE CANCELLED = 0 AND TRCODE = 8 AND LINETYPE = 0
GROUP BY STOCKREF

Bu adımda yapılan işlem:

  • LG_011_08_STLINE tablosu taranıyor.

  • Sadece şu satırlar dahil ediliyor:

    • CANCELLED = 0 → iptal olmayan satırlar

    • TRCODE = 8Toptan Satış Faturası satırları

    • LINETYPE = 0malzeme (stok) satırı (promosyon/indirim/hizmet değil)

  • Kalan satırlar STOCKREF’e göre gruplanıyor ve AMOUNT toplanıyor.

  • Bu toplam bu adımda A2022 alanına yazılıyor; diğer dönem alanı 0 basılıyor.

Senin örneğinle: “LG_011_08_STLINE = (mesela) 2025 dönemi” gibi düşünürsen, bu adım 2025 satış miktarlarını STOCKREF bazında toplar.

Adım 2
SELECT STOCKREF, 0 AS A2022, SUM(AMOUNT) AS A2021
FROM [UNIVERSALDB].[dbo].LG_011_07_STLINE
WHERE CANCELLED = 0 AND TRCODE = 8 AND LINETYPE = 0
GROUP BY STOCKREF

Bu adımda da aynı filtre ve aynı toplama var, sadece:

  • Toplam bu kez A2021 alanına yazılıyor,

  • A2022 alanı 0 basılıyor.

Senin örneğinle: “LG_011_07_STLINE = (mesela) 2024 dönemi” gibi düşünürsen, bu adım 2024 satış miktarlarını STOCKREF bazında toplar.

Adım 3
... 
UNION ALL
...

UNION ALL burada şunu yapıyor:

    1. adımın sonuçlarını getiriyor (A2022 dolu, A2021=0)

    1. adımın sonuçlarını bunun altına ekliyor (A2022=0, A2021 dolu)

Bu aşamada aynı STOCKREF iki satır olarak bulunabilir (biri 08’den, biri 07’den).

Adım 4
SELECT QQ.STOCKREF,
       SUM(QQ.A2022) AS ADET2022,
       SUM(QQ.A2021) AS ADET2021
FROM ( ... ) QQ
GROUP BY QQ.STOCKREF

Burada olan şu:

  • QQ içindeki satırlar tekrar STOCKREF’e göre gruplanıyor.

  • Aynı stok için:

    • A2022 kolonundaki değerler toplanıp ADET2022

    • A2021 kolonundaki değerler toplanıp ADET2021
      olarak tek satıra indiriliyor.

✅ Net sonuç: Her STOCKREF için iki dönemin toptan satış miktarı yan yana.