CODE
$sql = "SELECT a.id, a.titre, c.date, ";
$sql .= "IFNULL(b.titre,'N.C.') AS personne, IFNULL(b.m,'0') AS m, ";
$sql .= "IFNULL(c.photo,'0') AS photo, IFNULL(c.extension,'0') AS extension ";
$sql .= "FROM $TABLE_REALISATIONS a ";
$sql .= "LEFT JOIN (SELECT id, titre, mb FROM $TABLE_PERSONNES) b ON a.id_P=b.id ";
$sql .= "LEFT JOIN (SELECT id_R, photo, extension, date FROM $TABLE_REALISATIONS_IMAGES ORDER BY date DESC) c ON a.id=c.id ";
$sql .= "GROUP BY c.id_R ";
$sql .= "ORDER BY a.date DESC ";
$sql .= "LIMIT 0,6";
$sql .= "IFNULL(b.titre,'N.C.') AS personne, IFNULL(b.m,'0') AS m, ";
$sql .= "IFNULL(c.photo,'0') AS photo, IFNULL(c.extension,'0') AS extension ";
$sql .= "FROM $TABLE_REALISATIONS a ";
$sql .= "LEFT JOIN (SELECT id, titre, mb FROM $TABLE_PERSONNES) b ON a.id_P=b.id ";
$sql .= "LEFT JOIN (SELECT id_R, photo, extension, date FROM $TABLE_REALISATIONS_IMAGES ORDER BY date DESC) c ON a.id=c.id ";
$sql .= "GROUP BY c.id_R ";
$sql .= "ORDER BY a.date DESC ";
$sql .= "LIMIT 0,6";
Voilà j'ai cette requête qui lie des personnes à des réalisations et c'est ok.
Ensuite elle lie des réalisations à leur images mais et ne récupère que la plus ancienne pour chacune.
Ce qui pose problème c'est que lorsqu'il n'y a pas d'images dans la jointure avec $TABLE_REALISATIONS_IMAGES, l'entrée n'est pas retournée et ça prend la suivant avec une image.
Avez-vous une idée de comment modifier cett requête pour récupérer les 6 dernières réalisations liées chacune à leur dernière image ajoutée (car une réas peut avoir plusieurs images).
Merci à vous, ça fait deux fois que je me fais bloquer par une requête comme çà et je pense que je vais devoir passer par une table temporaire si ça continue.