Ich habe folgende tabelle (gekürzt)
Code: Alles auswählen
konto jahr monat wert
1000 2020 2 100
1200 2020 2 1000
1300 2020 2 10
1000 2020 1 200
>1200 nicht vorhanden
1300 2020 1 20
1000 2019 12 300
>1200 nicht vorhanden
1300 2019 12 30
1000 2019 11 400
1200 2019 11 4000
1300 2019 11 40Das ist nicht weiter wild. Interessant ist nun aber die Frage : Wie bekomme ich den älteren Wert eines Kontos, wenn der gesuchte nicht vorhanden ist ?
Beispiel zu der Tabelle :
Die Werte aller Konten des Jahres 2020 und des Monats 1 sollen eingelesen werden
Also bekommen ich mit "SELECT * FROM wertung WHERE monat = 1 AND jahr = 2020"
die Map :
Wert("1000") = 200
Wert("1300") = 20
Da hier die 1200 nicht vorhanden ist, brauche ich den "nächsten" älteren wert....
also Wert("1200") = 4000
Wie müsste ich die WHERE Klausel "designen" damit ich auf das gewünschte Ergebnis komme ?
Angemerkt wäre noch, dass es durchaus sein kann, dass mehrere Monate kein Eintrag eines Kontos existiert.
Und auf 0 kann icch nicht testen, da es durchaus sein kann das dieses Konto ein einem Monat keinen Wert hat...
(weil ein Schuft das Ding leergeräumt hat
Grund des ganzen... Ich trage nicht jeden Monat alle Konten die existieren in die Datenbank, damit nicht unnötige Daten in der
DB liegen... es können bis zu 13.000 konten sein, und die jeden monat eintragen obwohl keine bewegung stattgefunden hat,
wäre der overkill ....