problème sur une requête mysql

WRInaute discret
Bonjour,

Admettons une table 'membres' reliée à une table 'annnonces' par un champ appelé 'id_membre'
Chaque membre peut avoir plusieurs annonces.

Dans la table 'membres', j'enregistre l'id en auto_increment, le prénom et le nom du membre
Dans la table 'annonces', j'enregistre l'id du membre (id_membre), et la date de l'annonce (date_annonce) et le texte de l'annonce (texte)

En mysql, je veux récupérer le nom et le prénom de chaque membre, ainsi que la dernière annonce publiée par chaque membre
Je fais :

SELECT membres.prenom, membres.nom, MAX(annonces.date_annonce), annonces.texte
FROM annonces
LEFT JOIN membres ON membres.id=annonces.id_membre
GROUP BY membres.id

Le problème, c'est que cela me sélectionne bien la date de la dernière annonce, mais le texte de la première annonce publiée par le membre !!!

Comment dois je faire pour récupérer le texte de la dernière annonce ? (en 1 seule requète si possible)

Merci !
 
WRInaute discret
Hello, voici ce que j'aurai fait :

Code:
SELECT 
M.prenom, M.nom,
A.date_annonce, A.texte
FROM
membres M
LEFT JOIN
(SELECT
date_annonce, texte
FROM annonces
ORDER BY
date_annonce DESC) A
ON
M.id = A.id_membre

@+
 
Discussions similaires
Haut