Hvis jeg forstår begreberne bag dit skema, så vil jeg tænke stage_id
skal være en kolonne i team_pool
i stedet for pool
. Stadiet er ikke en egenskab ved puljen, det er en faktor i kortlægningen af hold til puljer, ikke?
Uanset hvad, det er sådan jeg ville skrive din forespørgsel i Oracle. Jeg er ikke sikker på, om denne nøjagtige syntaks er rigtig for MySQL. Formodentlig vil du parametrisere den bogstavelige værdi for 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