Page 1 sur 1

Problème avec une jointure

Posté : 23 nov. 2006, 00:52
par Erazer
Bonjour, bonsoir, bonne nuit ?

mon probème est le suivant,

j'ai deux tables

Code : Tout sélectionner

Produit -------- id titre commentaire --------------- id produitId pseudo

Je désire récupèrer les 5 derniers produits ainsi que la dernière personnes qui a laissé un commentaire sur ce produit.

Code : Tout sélectionner

SELECT produit.titre from produit LEFT JOIN commentaire as comment ON produit.id = comment.produitId LIMIT 5
ce pendant ET tout à fait logiquement, il me renvoie tous les commentaires pour chaque produit et non le dernier commentaire.

Ma requête n'est pas bonne, mais je ne vois pas comment limité à 1 ligne pour la jointure.

voilà,

Merci pour votre aide,

et bonne nuit !! :)[/code]

Posté : 23 nov. 2006, 11:28
par sadeq
Essaye ça:

Code : Tout sélectionner

SELECT r0.titre , (SELECT c.pseudo FROM commentaire as c WHERE c.id_produit = r0.id ORDER BY c.id DESC LIMIT 1 ) As personne FROM produit as r0 LIMIT 5
Ce qui veut dire que la personne est un champ determiné par une sous-requête qui extrait le dernier commentaire par tri inverse (ORDER By ... DESC)
NB: Les sous-requêtes sont supportées à partir de MySql 4 et +

Posté : 23 nov. 2006, 12:24
par Erazer
Bonjour,

oh !

J'était persuadé que les sous requêtes n'étaient possible qu'a partir de mysql 4.1 ... :)

je n'avais même pas essayé, ce qui apparaît être une erreur :)


Merci Sadeq,

bonne journée ;)

EDIT:

je confirme, c'est supporté à partir de la 4.1 :)