sql >> Base de Datos >  >> RDS >> Mysql

MySQL Multiple Joins en una consulta?

Simplemente puede agregar otra combinación como esta:

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 

Sin embargo, tenga en cuenta que, debido a que es un INNER JOIN , si tiene un mensaje sin imagen, se omitirá toda la fila. Si esta es una posibilidad, es posible que desee hacer una LEFT OUTER JOIN que devolverá todos los mensajes de su tablero y un nombre de archivo de imagen solo si existe (de lo contrario, obtendrá un valor nulo)

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