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

MySQL Multiple Joins in einer Abfrage?

Sie können einfach einen weiteren Join wie folgt hinzufügen:

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 

Beachten Sie dies jedoch, da es sich um einen INNER JOIN handelt , wenn Sie eine Nachricht ohne Bild haben, wird die gesamte Zeile übersprungen. Wenn dies möglich ist, können Sie einen LEFT OUTER JOIN ausführen die alle Ihre Dashboard-Meldungen und nur dann einen Bilddateinamen zurückgibt, wenn einer vorhanden ist (andernfalls erhalten Sie eine 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