Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL множество присъединявания в една заявка?

Можете просто да добавите друго присъединяване по следния начин:

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 

Но имайте предвид това, защото това е INNER JOIN , ако имате съобщение без изображение, целият ред ще бъде пропуснат. Ако това е възможно, може да искате да направите LEFT OUTER JOIN което ще върне всички съобщения на таблото ви за управление и image_filename само ако съществува (в противен случай ще получите нула)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL заявка за намиране на първичен ключ на таблица?

  2. грешка при използване на mysql_real_escape_string()

  3. Как мога да спра MySQL заявка, ако отнема твърде много време?

  4. Проблем с ОСНОВЕН КЛЮЧ при създаване на таблици в Rails с помощта на команда rake db:migrate с mysql

  5. добра практика ли е да използвате mysql_free_result($result)?