sql >> Database >  >> RDS >> Mysql

Een left join uitvoeren in een veel-op-veel-tabel met voorwaarden

Als ik de concepten achter je schema begrijp, zou ik denken stage_id moet een kolom zijn in team_pool in plaats van pool . Het podium is geen attribuut van de pool, het is een factor bij het in kaart brengen van teams aan pools, toch?

Hoe dan ook, dit is hoe ik uw vraag in Oracle zou schrijven. Ik weet niet zeker of deze exacte syntaxis geschikt is voor MySQL. Vermoedelijk zou je de letterlijke waarde voor stage_id . willen parametriseren .

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


  1. Hoe te groeperen op jaar in SQL

  2. De coördinaten van het MySQL-punttype ophalen

  3. Kruistabel met een groot of ongedefinieerd aantal categorieën

  4. Wijzig limiet voor Mysql Rijgrootte te groot