Hi Leute,
stehe hier leider vor nem kleinen Problem und komme einfach nicht auf den Fehler.
Es ist so, ich habe zwei Tabellen, einmal Rechnungen und einmal Zahlungen.
Eine Rechnung kann in dies mehrere Zahlungen beinhalten.
Jetzt will ich prüfen, ob die Summe der erhaltenen Zahlungen dem Rechnungsbetrag entspricht oder kleiner ist und demnach Rechnungen filtern, welche noch nicht komplett bezahlt wurden.
Jedoch habe ich das Problem, so wie es ausschaut, dass die Rechnungsbeträge mehrfach summiert werden, genau um den Faktor, wie es Zahlungen gibt.
Sprich: der Rechnungsbetrag beträgt z.B. 1000 - wenn ich dann 2x 500 als Zahlung erhalten habe, gibt mir das Query dann als Rechnungsbetrag 2000 aus anstatt 1000.
Des weiteren gibt es noch eine dritte Tabelle (Aufträge) welche natürlich auch mehrere Rechnungen erhalten kann.... schlussendlich sollen natürlich alle Rechnungen summiert werden, dann die entsprechenden Zahlungen zu den Rechnungen summiert werden und dann verglichen werden.....
Hier mein bisheriges Query:
stehe hier leider vor nem kleinen Problem und komme einfach nicht auf den Fehler.
Es ist so, ich habe zwei Tabellen, einmal Rechnungen und einmal Zahlungen.
Eine Rechnung kann in dies mehrere Zahlungen beinhalten.
Jetzt will ich prüfen, ob die Summe der erhaltenen Zahlungen dem Rechnungsbetrag entspricht oder kleiner ist und demnach Rechnungen filtern, welche noch nicht komplett bezahlt wurden.
Jedoch habe ich das Problem, so wie es ausschaut, dass die Rechnungsbeträge mehrfach summiert werden, genau um den Faktor, wie es Zahlungen gibt.
Sprich: der Rechnungsbetrag beträgt z.B. 1000 - wenn ich dann 2x 500 als Zahlung erhalten habe, gibt mir das Query dann als Rechnungsbetrag 2000 aus anstatt 1000.
Des weiteren gibt es noch eine dritte Tabelle (Aufträge) welche natürlich auch mehrere Rechnungen erhalten kann.... schlussendlich sollen natürlich alle Rechnungen summiert werden, dann die entsprechenden Zahlungen zu den Rechnungen summiert werden und dann verglichen werden.....
Hier mein bisheriges Query:
Code:
SELECT SUM( r.betrag ) AS Rebetrag, ifnull(SUM( z.betrag ), 0) AS erhalten, auftragsID
FROM rechnungen AS r
LEFT JOIN zahlungen AS z ON z.rechnungid = r.id
WHERE r.storno =0
AND NOW( ) > r.rechnungsdatum + INTERVAL 10
DAY
GROUP BY r.auftragsID
HAVING Rebetrag != erhalten