LEFT JOIN sur Max Value

Supposons que j'ai les deux tableaux suivants:

STUDENT
studentid   lastname   firstname
1           Smith      John
2           Drew       Nancy

STUDENT_STORY
studentid   dateline   storyid   status
1           1328313600 10        2
1           1328313601 9         1
2           1328313602 14        2
2           1328313603 12        1

Maintenant, j'ai besoin d'une requête SQL qui permettrait de sélectionner chaque étudiant avec la dernière histoire de cet étudiant de l'étudiant l'histoire de la table.

J'essaye ceci:

SELECT s.*, ss.*
FROM student AS s
LEFT JOIN (
    SELECT *
    FROM student_story
    WHERE student_story.studentid = s.studentid
    ORDER BY dateline DESC LIMIT 1
) AS ss ON (ss.studentid = s.studentid)

Toutefois, cette requête ne fonctionne pas. Il se plaint s.studentid être un champ inconnu dans la clause where de la requête sub.

Veuillez indiquer comment je peux réaliser ce que je suis en train de faire.

Grâce.

source d'informationauteur akanevsky