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

MySQL Multiple Joins en une seule requête ?

Vous pouvez simplement ajouter une autre jointure comme celle-ci :

SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename
FROM dashboard_data 
    INNER JOIN dashboard_messages 
        ON dashboard_message_id = dashboard_messages.id
    INNER JOIN images
        ON dashboard_messages.image_id = images.image_id 

Cependant, sachez que, car il s'agit d'un INNER JOIN , si vous avez un message sans image, la ligne entière sera ignorée. Si c'est une possibilité, vous voudrez peut-être faire un LEFT OUTER JOIN qui renverra tous vos messages de tableau de bord et un image_filename uniquement s'il existe (sinon vous obtiendrez un null)

SELECT dashboard_data.headline, dashboard_data.message, dashboard_messages.image_id, images.filename
FROM dashboard_data 
    INNER JOIN dashboard_messages 
        ON dashboard_message_id = dashboard_messages.id
    LEFT OUTER JOIN images
        ON dashboard_messages.image_id = images.image_id