sql >> Base de Datos >  >> RDS >> Mysql

Realizar una combinación izquierda en una tabla de muchos a muchos con condiciones

Si entiendo los conceptos detrás de su esquema, entonces pensaría en stage_id debe ser una columna en team_pool en lugar de pool . El escenario no es un atributo del grupo, es un factor en el mapeo de equipos a grupos, ¿verdad?

Independientemente, así es como escribiría su consulta en Oracle. No estoy seguro de si esta sintaxis exacta es adecuada para MySQL. Presumiblemente, querrá parametrizar el valor literal para stage_id .

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