Hallo,
Ich habe zwei Tabellen, A und B (=order_status) mit 1:n Beziehung. Bei einer Abfrage möchte ich nun alle Datensätze aus A auslesen und jeweils einen zugehörigen Datensatz aus B, und zwar genau den, bei dem ein bestimmtes Feld (time) am größten ist.
Nach ein bisschen Googlen habe ich folgende Lösung gefunden:
Jetzt sucht er sich schonmal die größte "time" raus, ich will aber, dass zu genau dem Datensatz auch der "status" abgefragt wird. Da holt er sich aber irgendeinen.
Im Prinzip will ich zu jedem Datensatz in Tabelle A genau den einen Datensatz aus B mit max(time) haben.
Wie setze ich das um?
Vielen Dank!
Ich habe zwei Tabellen, A und B (=order_status) mit 1:n Beziehung. Bei einer Abfrage möchte ich nun alle Datensätze aus A auslesen und jeweils einen zugehörigen Datensatz aus B, und zwar genau den, bei dem ein bestimmtes Feld (time) am größten ist.
Nach ein bisschen Googlen habe ich folgende Lösung gefunden:
Code:
LEFT JOIN (SELECT orderId,max(time) AS time ,status FROM order_status GROUP BY orderId) S ON O.id=S.orderId
Im Prinzip will ich zu jedem Datensatz in Tabelle A genau den einen Datensatz aus B mit max(time) haben.
Wie setze ich das um?
Vielen Dank!
Kommentar