Kai: Query gesucht / Inkl. Besipieldaten

Beitrag lesen

Hi Frank,

entspricht aber nicht unbedingt einer regulaeren relationalen Datenstruktur. Und damit ist es quasi unmoeglich dieses Ergebnis als Ergebnis einer einzigen Abfrage zu produzieren.

Klar, das das nicht geht.
Dedlfix fragte aber nach dem gewünschten Ergebnis. Es würde mir ja reichen, den Weg dorthin zu kennen. Auch wenn es mehr als 1 Abfrage ist.

Oder meinst du

OP-Restbetrag 750 inkl. 19% MwSt.
als Ergebnis?

Das waere dann ja noch recht gut moeglich. Zusammen mit RGID und Konto.

Nein, das alleine meinte ich aber nicht.

Am Beispiel von RGID = 4 (das mittlere Beispiel).

SELECT
   r.RGID
, r.RGNummer
, r.DATUM
, DATEADD(dd, r.Faellig_in_Tagen, r.DATUM) AS Faelligkeit_Datum
, r.BETRAG AS Betrag_Faellig
, SUM(z.Brutto) AS Brutto_Gezahlt
, r.BETRAG - SUM(z.Brutto) AS Noch_Offen
FROM rechnungen r
INNER JOIN zahlungen z ON r.RGID = z.RGID
WHERE r.RGID = 4
GROUP BY
   r.RGID
, r.RGNummer
, r.DATUM
, DATEADD(dd, r.Faellig_in_Tagen, r.DATUM) AS Faelligkeit_Datum
, r.BETRAG;

Was kommt da denn raus?

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS Faelligkeit_Datum , r.BETRAG LIMIT 0, 30' at line 16

Deine Zahlungstabelle laesst ein Datum vermissen. Wie kommst du sonst auf den 15.12. im ersten Beispiel?

Stimmt. Das Datum habe ich im Original drin.

Das "bezahlt" Flag is auch ueberfluessig, da du dieses herausbekommst wenn der "Noch_Offen" Betrag <= 0 ist.

Das ist schon klar, das ist aber historisch gesehen noch drin.

Deine Skonto-Behandlung ist falsch. Grundsaetzlich wird Skonto (wenn es ueberhaupt gewaehrt wird) auf eine bestimmte Faelligkeit gewaehrt und auf den Rechnungsbetrag. Ob die Zahlungen dann mit oder ohne Skonto gemacht wurden is schnurz.

Ja. Aber irgendwo muß ich doch vermerken, dass ich Skonto in Anspruch nehmen will. Sonst kann  ich es nicht in  die Rechnung einbeziehen, die prüft, ob ein offener Betrag für den Beleg existiert oder  nicht.

Es bleibt ggf ein offener Posten wenn nur ein Teil bezahlt wurde oder (in Hoehe des Skonto) wenn die Skonto Frist ueberschritten wurde. Dazu brauchst du dann aber auch ein Datum bei zahlungen um zu sehen ob die Summe der Zahlungen innerhalb der Skontofrist auch der Rechnungssumme abzueglich Skonto entspricht.

Prinzipiell schon. Aber das belasse ich beim User, das korrekt anzulegen.

Bitte, jetzt seid Ihr gefragt.
Aha .. und fuer dich heisst es jetzt: Bitte zur Kasse und zahlen. :-)

Ja ok. Wenns denn hilft... weobei, es ist schon klar, dass "Bitte, jetzt seid Ihr gefragt." mehr Frage als Aufforderung war? :-)

Gruß, Kai

Ciao, Frank