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

Durchführen einer Linksverknüpfung über eine Viele-zu-Viele-Tabelle mit Bedingungen

Wenn ich die Konzepte hinter Ihrem Schema verstehe, würde ich an stage_id denken sollte eine Spalte in team_pool sein statt pool . Die Phase ist kein Attribut des Pools, sondern ein Faktor bei der Zuordnung von Teams zu Pools, richtig?

Unabhängig davon würde ich Ihre Abfrage in Oracle so schreiben. Ich bin mir nicht sicher, ob diese genaue Syntax für MySQL richtig ist. Vermutlich möchten Sie den Literalwert für stage_id parametrisieren .

SELECT t.name, p.name
  FROM (SELECT team.name, pool_id
          FROM team LEFT JOIN team_pool
            ON team_pool.team_id = team.team_id ) t
       LEFT JOIN (SELECT pool_id, name FROM pool WHERE stage_id = 2) p
            ON p.pool_id = t.pool_id