Tach!
Der aktuelle Bestand soll nicht im Artikelstamm stehen, denn es könnte mehrere Lager geben mit unterschiedlichen Beständen.
Also möchtest du außer dem Datum der neuesten Buchung auch noch den Bestand anzeigen. Beides hat wenig miteinander zu tun. Für das Datum benötigst du den Maximalwert, für die Anzahl eine Summe. Beides könnte in einer eigenen Subquery nach dem gezeigten Muster erfragt werden. In diesem Fall, dass beide interessierenden Werte über eine Aggregatfunktion ermittelt werden, sollte aber auch ein JOIN und ein GROUP BY zum Ziel führen.
Jeder Buchungssatz hat ein DATETIME Feld, die Buchungsmenge plus/minus sowie den Bestand vor und nach der Buchung.
Die Mitführung der Bestandsinformation scheint mir nicht nur überflüssig sondern mitunter sogar störend. Nimm mal an, du hast festgestellt, dich bei einer früheren Buchung vertan zu haben. Wie korrigierst du das und welche Auswirkungen ergeben sich dadurch? Wenn Korrekturen nicht erlaubt sind und stattdessen eine Gegen- und erneute Buchung eingetragen werden müssen, ist das sicher kein Problem. Aber wenn du vergangene Buchungen korrigieren kannst, musst du für jede neuere Buchung die Bestandszahlen nachziehen. Und eigentlich ergibt sich dieser Wert bereits durch einfache Berechnung.
dedlfix.