Sprint
Erfahrenes Mitglied
Hallo zusammen,
ich bin gerade dabei, eine Monatsabrechnung zu erstellen. Dabei sollen alle Kaufverträge berücksichtigt werden, die älter als 5 Tage sind.
Jetzt kann es aber sein, daß ein Kaufvertrag storniert wird. Ist das Stornodatum später als 5 Tage nach Vertragsdatum, soll er ausgegeben werden. Wurde nach weniger als 5 Tagen storniert, wird der Vertrag nicht berücksichtigt.
Kaufvertragsdatum und Stornodatum sind als DATETIME gespeichert. Es soll aber nur das Datum bei der Berechnung der Spanne berücksichtigt werden. Egal ob der Kaufvertrag am Vormittag, Nachmittag oder mitten in der Nacht geschlossen wurde.
Wenn ich das so mache, werden zwar die richtigen Datensätze ausgegeben, aber in Abhängigkeit von den beiden Uhrzeiten. Unter PHP wäre das kein Problem, aber ich möchte auch gleich bei der Abfrage die richtige Anzahl an Datensätzen wissen und nicht erst später.
Habt ihr einen Tip für mich?
Danke schon mal im Voraus, Sprint
ich bin gerade dabei, eine Monatsabrechnung zu erstellen. Dabei sollen alle Kaufverträge berücksichtigt werden, die älter als 5 Tage sind.
Jetzt kann es aber sein, daß ein Kaufvertrag storniert wird. Ist das Stornodatum später als 5 Tage nach Vertragsdatum, soll er ausgegeben werden. Wurde nach weniger als 5 Tagen storniert, wird der Vertrag nicht berücksichtigt.
Kaufvertragsdatum und Stornodatum sind als DATETIME gespeichert. Es soll aber nur das Datum bei der Berechnung der Spanne berücksichtigt werden. Egal ob der Kaufvertrag am Vormittag, Nachmittag oder mitten in der Nacht geschlossen wurde.
Code:
SELECT distinct *
FROM kaufvertrag kv,
kvnr kn
WHERE
kv.kvid = kn.kvnr and
kv.kaufdatum < '$maxdatum' and
(kn.stornodatum = '0000-00-00 00:00:00' or kn.stornodatum > date_add(kv.kaufdatum, interval 5 day))
Wenn ich das so mache, werden zwar die richtigen Datensätze ausgegeben, aber in Abhängigkeit von den beiden Uhrzeiten. Unter PHP wäre das kein Problem, aber ich möchte auch gleich bei der Abfrage die richtige Anzahl an Datensätzen wissen und nicht erst später.
Habt ihr einen Tip für mich?
Danke schon mal im Voraus, Sprint