Ich möchte Geldflüsse nachvollziehen.
Ein Beispiel: am 01.10. wurden 100 € von einem Konto überwiesen und am 03.10 sind diese auf einem anderen Konto eingegangen und dort wiederum weiter überwiesen worden.
Nun muss ich ja hier den Betrag 100 € und -100 € abfragen und auch den Zeitraum der Buchungen berücksichtigen. Als Beispiel habe ich mal 7 Tage angesetzt.
Aufbau meiner Tabelle "Buchungen", die alle Buchungen aller Konten enthält:
Code:
ID
KontoID
Buchungstag
Geldbetrag
Verwendungszweck
Kontonummer
Bankleitzahl
Bemerkungen
Mein bisheriger Lösungansatz:
Code:
select
b1.id,
b1.KontoID,
b1.Buchungstag,
b1.geldbetrag,
Abs(b1.geldbetrag) as b1absgeldbetrag,
b1.Verwendungszweck,
b1.Kontonr,
b1.BLZ,
b1.Bemerkung,
b2.id,
b2.Buchungstag,
b2.Geldbetrag,
Abs(b2.Geldbetrag) as b2absgeldbetrag
FROM Buchungen b1, Buchungen b2
WHERE
b1absgeldbetrag = b2absgeldbetrag
and b1.id <> b2.id
and b1.buchungstag between b2.Buchungstag - 7 and b2.buchungstag
Die Abfrage läuft ewig. Ist der join zweier Tabellen per berechnetem Wert (Abs()) erlaubt?
Hat jemand Verbesserungsvorschläge für mich?