sql >> Databasteknik >  >> RDS >> Mysql

MySQL LEFT JOIN 3 bord

Du försöker gå med i Person_Fear.PersonID till Person_Fear.FearID – Det här är inte riktigt vettigt. Du vill förmodligen ha något som:

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

Detta ansluter till Persons till Fears via mellantabellen Person_Fear . Eftersom kopplingen mellan Persons och Person_Fear är en LEFT JOIN , får du alla Persons rekord.

Alternativt:

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. Hur infogar jag flera poster i en databasresa med PDO?

  2. Lockiga hängslen i T-SQL

  3. PostgreSQL User Group NL

  4. Dynamisk SQL-resultat till temporär tabell i SQL Stored-procedur