Jörg: mysql, Query, Immer nur der letzte Eintrag

Beitrag lesen

Hallo Rolf,

Du kannst mit einer Zusatzklausel den JOIN auf das jüngste Datum limitieren:

SELECT t1.ID1, t1.Spalte1, t2.ID2, t2.Spalte2
FROM table1 t1 
LEFT JOIN table2 t2 ON t1.ID1 = t2.ID1 
                   AND t2.Datum = (SELECT MAX(Datum) 
                                   FROM table2
                                   WHERE id = t1.ID1)

Das habe ich versucht und es funktioniert, danke.

Leider ergibt sich hieraus ein Problem, das ich nicht bedacht hatte:

In table2 gibt es eine Flag-Spalte XYZ(int 1). Und es sollen alle Einträge mit XYZ=0 angezeigt werden, während von denen mit XYZ=1 nur der jeweils älteste angezeigt werden soll. Sorry für die weitere Einschränkung, die ist mir selber erst gerade beim Testen aufgefallen.

Jörg