Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql LEFT Join für den Maximalwert der rechten Tabelle

Sie müssen die max(Kommentar-ID) auf jedes Foto anwenden (vorausgesetzt, die Kommentar-ID wird automatisch erhöht und ist daher immer die neueste, die der Tabelle hinzugefügt wurde)

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