Logo Sql SUM sorgusu

ykslk
Mesajlar: 2
Kayıt: 03 Tem 2023, 09:47
Adınız: Yüksel
Soyadınız: Kendirli

Logo Sql SUM sorgusu

Mesaj gönderen ykslk »

Merhaba
Şu şekilde bir sorgumuz var.
SELECT
SUM (PNT.BALN_ADDPAYMS_PTD) 'Ek Ödemeler Toplamı',
SUM (PNT.BALN_PAYMENTS_PTD) 'Brüt Kazançlar'
FROM
H_001_PNTCARDS PNTC
LEFT OUTER JOIN H_001_PNTBALANCES PNT ON PNTC.LOGICALREF = PNT.PNTREF
LEFT OUTER JOIN H_001_PERSONS P ON P.LOGICALREF = PNTC.PERREF

Buna şu kısmı eklemek istiyoruz ama üstteki sorgudaki gibi SUM/TOPLAM mantığı ile.

ISNULL((SELECT SUM(NETAM) FROM H_001_PNTLINES WHERE PERREF=PNTC.PERREF AND PREF=PNTC.LOGICALREF AND PERDBEG=PNTC.PERDBEG AND TYP = 6 AND NR IN (4,5,7)), 0
) 'AAA',

Ya kişi bazında dönüyor veya hata çıkıyor.
Yardtımcı olabilir misiniz?
islakates
Mesajlar: 28
Kayıt: 08 Tem 2023, 00:56
Meslek: Yazılım Uygulama ve Destek Elemanı
Adınız: Zulkarneyin
Soyadınız: Albayrak

Re: Logo Sql SUM sorgusu

Mesaj gönderen islakates »

Alt sorgu, genellikle bir toplama fonksiyonuyla birleştirilmez,
ISNULL fonksiyon kullandığı alt sorgusunda ana sorguda SUM fonksiyonuyla birleştirilmesi gerekiyor.
JOIN yada alt sorgunun içindeki filtrelerin yapısı önemli
ISNULL((SELECT SUM(NETAM) FROM H_001_PNTLINES WHERE PERREF = PNTC.PERREF AND PREF = PNTC.LOGICALREF AND PERDBEG = PNTC.PERDBEG AND TYP = 6 AND NR IN (4,5,7)), 0) AS 'AAA'
Ufak bir değişiklik yaptım
SUM (PNT.BALN_ADDPAYMS_PTD) AS 'Ek Ödemeler Toplamı',
SUM (PNT.BALN_PAYMENTS_PTD) AS'Brüt Kazançlar'