sql >> Databáze >  >> RDS >> Mysql

MySQL LEFT JOIN 3 tabulky

Pokoušíte se připojit k Person_Fear.PersonID na Person_Fear.FearID - Tohle fakt nedává smysl. Pravděpodobně chcete něco jako:

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

Tím se připojí Persons na Fears přes zprostředkující tabulku Person_Fear . Protože spojení mezi Persons a Person_Fear je LEFT JOIN , získáte všechny Persons záznamy.

Případně:

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. Proč vůbec používat *DB.exec() nebo připravené příkazy v Golangu?

  2. jak vložit datum a čas do oracle?

  3. Jaký je výchozí název omezení v MySQL?

  4. MySql Processlist plný záznamů spánku vedoucích k příliš mnoha připojením?