Problem bei einer Abfrage, mit höchsten Timestamp

  • Themenstarter Themenstarter ByeBye 31659
  • Beginndatum Beginndatum
B

ByeBye 31659

Hallo,

ich hab ein Problem, das ich schon seit Tagen nicht gelöst bekomme.
Also ich habe drei Tabellen:
- mail (hier ist erstmal nur das feld mail_ID wichtig eingetragen sind da z.B. 1,2,...)
- maildest (hier sind folgende Felder von Bedeutung: maildest_ID und name)
- maildest_z (hier stehen folgende Dinge drinnen: mail_ID, maildest_ID und tmstmp)

Nun möchte ich eine Abfrage haben, die mir alle Datensätze holt, aber so gruppiert, das für jede mail_ID in maildest_z nur der Datensatz mit dem höchsten Timestamp (tmstmp) kommt. anschließend möchte ich das mit maildest verbinden und so einen namen herausbekommen...

Soweit verständlich? ich hab schon so einiges ausprobiert....
Z.B. sowas
Code:
SELECT mail.mail_ID, maildest.name, maildest_z.tmstmp AS letzteAktion FROM mail,maildest,maildest_z WHERE maildest_z.tmstmp = (SELECT MAX(tmstmp) FROM maildest_z) GROUP BY mail_ID;

Leider ohne Erfolg, ich benutze zurzeit MySQL 4.1.10

Der Fehler ist, das er mir immer den höchsten Timestamp gibt den er findet, auch wenn der nicht zur mail_ID passt.....

Kann mir da jemand helfen?
 
Hallo,

so die Verknüpfung funktioniert nun richtig

Code:
SELECT mail.mail_ID, maildest.name, maildest_z.tmstmp AS letzteAktion FROM mail,maildest,maildest_z WHERE maildest_z.tmstmp = (SELECT MAX(tmstmp) FROM maildest_z) AND mail.mail_ID=maildest_z.mail_ID AND maildest.maildest_ID=maildest_
z.maildest_ID GROUP BY maildest_z.mail_ID;

Allerdings sucht er nun nur den Datensatz mit dem höchsten Timestamp, ich möchte aber für jede mail_ID in maildest_z einen Datensatz mit dessen höchstem Timestamp.

Hat da noch jemand eine Idee?
 
Zurück