Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Summieren in Abfragen

Begonnen von Paule, Oktober 24, 2016, 14:52:10

⏪ vorheriges - nächstes ⏩

Paule

Hallo,
ich habe eine Frage zu Abfragen.
Und zwar wollte ich mir eine Abfrage basteln, in denen ich alle Ratenverkäufe finde (gruppiert nach SallesID). Weiterhin möchte ich wissen, wieviele Raten bis heute angefallen sind und wieviel davon zurückgezahlt wurden. Als weitere Spalte möchte ich dann den Differenzbetrag daraus ermitteln um die bis heute ausstehenden Zahlungsansprüche zu erechnen.

Folgenden SQL-Code habe ich:


SELECT SA_Sales.SalesID,
Sum(CF_InstallmentsT.InstallmentSum) AS SummevonInstallmentSum, Sum(CF_InstallmentRepayment.RepaymentAmount) AS SummevonRepaymentAmount, [SummevonInstallmentSum]-[SummevonRepaymentAmount] AS Outstanding

FROM
(SA_Customer INNER JOIN SA_Sales ON SA_Customer.CustomerID = SA_Sales.CustomerID) INNER JOIN (CF_InstallmentsT LEFT JOIN CF_InstallmentRepayment ON CF_InstallmentsT.InstallmentID = CF_InstallmentRepayment.InstallmentNo) ON SA_Sales.SalesID = CF_InstallmentsT.ReferingSale

WHERE
(((CF_InstallmentsT.InstallmentDate)<=Date()) AND ((CF_InstallmentsT.depreciated)=No))

GROUP BY SA_Sales.SalesID;



Die Abfrage funktioniert auch super bisher.
Ich habe nur folgendes Problem: Im Fall, dass ein Kunde noch GAR KEINE Rückzahlung geleistet hat ist das Feld "SummevonRepaymentAmount" in der Abfrage bei dieser SalesID nicht "0" sondern einfach leer. Dadurch kann er anscheinend keine richtige Differenz bilden und auch diese Spalte bleibt leer.

Beispiel:
Angefallene Raten: 100.000
Rückzahlungen: Leer
Differenz: Leer

Was kann ich tun, damit er die Summe aller Rückzahlungen als 0 in der Abfrage angibt, sofern noch gar keine Rückzahlung geleistet wurde?
Bei allen Kunden, die schon etwas zurückgezahlt haben, funktioniert das ohne Probleme.

Ich wäre um eine kurze Anregung sehr dankbar!

Viele Grüße

Lachtaube

Wende Nz(Sum(...), 0) für mögliche leere Felder an.
Grüße von der (⌒▽⌒)