Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL LEFT JOIN 3 stoły

Próbujesz dołączyć do Person_Fear.PersonID na Person_Fear.FearID - To nie ma sensu. Prawdopodobnie chcesz coś takiego:

SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons
LEFT JOIN Person_Fear
    INNER JOIN Fears
    ON Person_Fear.FearID = Fears.FearID
ON Person_Fear.PersonID = Persons.PersonID

To łączy Persons na Fears poprzez tabelę pośrednią Person_Fear . Ponieważ połączenie między Persons i Person_Fear to LEFT JOIN , otrzymasz wszystkie Persons rekordy.

Alternatywnie:

SELECT Persons.Name, Persons.SS, Fears.Fear FROM Persons
LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID
LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy MySQL pozwala na tworzenie bazy danych z kropką?

  2. JSON_DEPTH() – Znajdź maksymalną głębokość dokumentu JSON w MySQL

  3. MySQL GROUP BY z preferencjami

  4. MySQL:Odmowa dostępu dla użytkownika 'test'@'localhost' (przy użyciu hasła:TAK) z wyjątkiem użytkownika root

  5. Jeśli inaczej w klauzuli WHERE