sql >> Database teknologi >  >> RDS >> Mysql

Udførelse af en venstresammenføjning på tværs af et mange-til-mange-bord med betingelser

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


  1. PayPal ODBC-driver

  2. MySQL/PHP - sidenummer paginering Vis kun 10 sider til tider

  3. Ny funktion til BYOC – Pause og genoptagelse af klynger

  4. Kan ikke oprette forbindelse til localhost, men kan med computernavn i SQL Server 2008