Tach!
in einer Liste zeige ich Artikel an. Zu jedem Artikel kann es 0..n Zu- und Abgangsbuchungen geben.
Die letzte Buchung (=höchstes Datum) möchte ich auch anzeigen,
Wenn es die nur um das Datum und keine anderen Werte aus der Buchungstabelle geht, dann ist das recht einfach über eine correlated Subquery abfragbar.
SELECT ..., (SELECT MAX(Datum) FROM buchungen WHERE id_artikel = artikel.id) FROM artikel
Wenn es mehr Felder sein sollen, dann wird es schwer bis unmöglich, weil es bei einer Gruppierung nicht vorgesehen ist, einen ganzen Datensatz zu liefern.
Eine Tabelle mit den Feldern a,b,c kann man zwar nach a gruppieren, aber dann kann man von b und c nur aggregierte Werte erhalten. MySQL lässt zwar das Abfragen von b und c zu, aber liefert dann beliebige Werte. Selbst wenn du
SELECT a, MAX(b), c FROM tabelle GROUP BY a
abfragst, heißt das nicht, dass du den zum maximalen b gehörenden Wert von geliefert c bekommst.
dedlfix.