Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql LEFT join pour la valeur maximale de la table de droite

vous devez appliquer le maximum (ID de commentaire) sur chaque photo (en supposant que l'ID de commentaire est auto-incrémenté et donc toujours le plus récent ajouté au tableau)

select
      p.*,
      tbc.Comment
   from
      tb_photos p
         LEFT JOIN ( select c.photos_id, 
                            max( c.id ) lastCommentPerPhoto
                        from
                           tb_comments c
                        group by
                           c.photos_id
                        order by
                           c.Photos_id ) LastPhotoComment
            on p.id = LastPhotoComment.photos_id
            LEFT JOIN tb_comments tbc
               on LastPhotoComment.LastCommentPerPhoto = tbc.id