nach Ausgleichsbelegen filtern
am 08.11.2006 10:15:14 von Johannes MuellerHallo NG,
ich bin nicht so firm mit SQL-Abfragen, deswegen also hier mal eine
konzeptuelle Frage.
Skizziertes Problem:
Ich habe eine Tabelle dort sind Buchungen mit verschiedenen
Buchungsschlüsseln (Key) drin (z.B. 40 = Soll, 50 = Haben, 41 =
KreditorHaben [..]).
Desweiteren können mehrere Buchungen zu einem ökonomischen Sachverhalt
gehören, also mehrere Buchungen mit Schlüssel 40 und 50 etc. gehören
zusammen. Wobei - was ja sicher auch viele wissen - der Betrag der Soll
Buchungen = dem Betrag der Haben Buchungen in der Summe sein soll. Dies
wird durch eine Spalte in der Tabelle abgebildet, die quasi die
Ausgleichsnummer mitspeichert. Das ist nicht unbedingt unredundant,
aber historisch gewachsen :)
Nun möchte ich mir alle "Ausgleiche" anzeigen lassen, wo dies nicht der
Fall ist, also wo die Höhe der SollBuchungen gerade nicht denen der
HabenBuchungen entspricht.
Im Prinzip ist das ja ein StandardProblem, das so sicher schon
Millionenfach gelöst wurde - außer von mir :)
Meine bisherige Denke:
0. sinnmäßig muss ich irgendwie durch alle Ausgleichsbelege "iterieren"
(bzw. die Buchungen ausgeben lassen wo gerade die Summe der S nicht der
Summe der mit Ausgleichsbeleg zugehörigen H entspricht)
1. dabei eine Summe für die Soll-Buchungen bilden
2. und dabei eine Summe für die Haben-Buchungen bilden
3. danach die beiden Summen vergleichen
Summen bilden ist denke ich kein Problem, womit ich ein Problem habe
ist das mit dem "iterieren" - kennt dazu jemand ein gutes Tutorial
(auch auf englisch) oder kann mir da einen hilfreichen Tipp geben?
Danke
Johannes
Die Tabelle im Überblick:
+----+-----+--------+------+-----------+
| ID | Key | Betrag | Text | Ausgleich |
+----+-----+--------+------+-----------+
| 1 | 40 | 500 | xy | 1 |
+----+-----+--------+------+-----------+
| 2 | 40 | 600 | xy | 1 |
+----+-----+--------+------+-----------+
| 3 | 50 | 1200 | xy | 1 |
+----+-----+--------+------+-----------+
....sollte dann ausgeworfen werden, weil der Ausgleich nicht aufgeht! Es
ist kein bißchen normalisiert und deswegen schäm ich mich auch ein
bißchen, aber das sind nicht wirklich viele Buchungen, deswegen ist das
performancetechnisch auch nicht wirklich schlimm.
--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.