MySQL Forums
Forum List  »  German

Brauche Hilfe bei Bedingung für JOIN
Posted by: Dieter Müller
Date: May 11, 2007 04:14AM

Hallo,

bin neu hier in diesem Forum. Habe mir gestern den ganzen Abend den Kopf zerbrochen über ein Problem mit einer Query, die ich für einen Datenexport aus meiner Webanwendung brauche. Die Query ist recht lang und umfangreich, deshalb versuche ich nur mal den Kern des Problems hier abstrakt darzustellen. Hoffe mir kann jemand helfen, wahrschinlich ist das eine Fingerübung für einen SQL Crack, doch mir ist gestern keine Lösung eingefallen.

Nehmen wir an ich habe zwei Tabellen:
- table
- table_pos

Diese beiden Tabellen haben eine 1:n Beziehung, das heisst in table_pos können n Datensätze mit einer Referenz auf einen DS in table stehen.
Weiterhin wichtig ist, dass table_pos ein datumsfeld enthält.

Ein wichtiger Teil meiner Query ist nun, dass ich alle Datensätze aus table hole und dazu immer nur den table_pos Datensatz mit dem aktuellsten Datum joinen will.

Wie geht das am einfachsten?
Um immer nur ein Ergebnis pro Datensatz aus table zu bekommen mache ich ein GROUP BY table_id. Wenn ich dann normal table_pos per LEFT JOIN dazu hole nimmt er immer den ersten table_pos Datensatz den er findet. Meine Idee war dann mit HAVING max(table_pos.datum) zu erreichen, dass immer der Datensatz mit dem letzten Datum genommen wird, nur das funktioniert nicht.

Kann mir jemand einen Tipp geben, wie die einfachste und sauberste Lösung ist?
Wichtig ist vielleicht noch, dass ich noch MySQL 4.0 verwende.

Vielen Dank im vorraus!
Mit Zitat antworten

Options: ReplyQuote


Subject
Views
Written By
Posted
Brauche Hilfe bei Bedingung für JOIN
3336
May 11, 2007 04:14AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.