Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL LEFT JOIN 3 tabelle

Stai cercando di unirti a Person_Fear.PersonID su Person_Fear.FearID - Non ha molto senso. Probabilmente vuoi qualcosa come:

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

Questo si unisce a Persons su Fears tramite la tabella intermedia Person_Fear . Perché l'unione tra Persons e Person_Fear è un LEFT JOIN , otterrai tutte le Persons record.

In alternativa:

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