sql >> Databasteknik >  >> RDS >> Mysql

MySQL Multiple Joins i en fråga?

Du kan helt enkelt lägga till ytterligare en anslutning så här:

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 

Var dock medveten om det, eftersom det är en INNER JOIN , om du har ett meddelande utan bild, kommer hela raden att hoppas över. Om detta är en möjlighet, kanske du vill göra en LEFT OUTER JOIN som kommer att returnera alla dina instrumentpanelmeddelanden och ett image_filename endast om ett sådant finns (annars får du en 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 


  1. MySQL Syntax felmeddelande Operand bör innehålla 1 kolumn(er)

  2. Stöder PostgreSQL accentokänsliga kollationer?

  3. standard en kolumn med tom sträng

  4. MySQL Long Query Progress Monitoring