Diese Finanzdatenbank bringt mich um den Verstand
Ich habe ein Tabelle Forderungen (RECEIVABLES) und eine Zahlungen (PAYMENTS). Gesucht werden alle Forderungen in Fremdwährung, welche noch nicht ausgeglichen sind. Das ganze kann ich nur mittels Journal festellen, da die Auswertung auch rückwirkend sein muß. Als Datenbank wir Firebird 1.5 eingesetzt.
Das hier läuft schon ganz prächtig:
Code:
Select
R.ACCOUNT,
R.DOCUMENT_NO,
SUM(R.RECEIVABLE) RECEI,
SUM(P.PAYMENT) PAYED,
SUM(R.RECEIVABLE) + SUM(P.PAYMENT) OP,
SUM(R.CURR_RECEIVABLE) CURR_RECEI,
SUM(P.PAYMENT * R.EXCHANGE_RATE) CURR_PAYED,
SUM(R.CURR_RECEIVABLE) +
SUM(P.PAYMENT * R.EXCHANGE_RATE) CURR_OP
FROM RECEIVABLES R LEFT OUTER JOIN PAYMENTS P ON (
R.ACCOUNT = P.ACCOUNT
AND R.DOCUMENT_NO = P.DOCUMENT_NO
)
Where R.FINANCIAL_MONTH < 200402
AND R.CURR_NO = 3
GROUP BY R.ACCOUNT, R.DOCUMENT_NO
Problem :
Wenn noch keine Zahlungen vorhanden sind, dann erhalte ich bei allen ausgegebenen Sätzen die Funktionen wie SUM(P. irgendwas) enthalten, den Wert NULL. Damit kann ich leider nicht rechnen.
Kann ich SQL irgendwie dazu bringen, statt NULL 0.0 auszugeben? Die letzte Abfragebedingung soll nämlich
Code:
HAVING SUM(R.RECEIVABLE) + SUM(P.PAYMENT) <> 0.0
sein.
Hans
Lesezeichen