Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL LEFT JOIN 3 Tabellen

Sie versuchen, Person_Fear.PersonID beizutreten auf Person_Fear.FearID - Das ist nicht wirklich sinnvoll. Sie möchten wahrscheinlich so etwas wie:

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

Dies verbindet Persons auf Fears über die Zwischentabelle Person_Fear . Da die Verbindung zwischen Persons und Person_Fear ist ein LEFT JOIN , erhalten Sie alle Persons Aufzeichnungen.

Alternativ:

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