Mysql
 sql >> база данни >  >> RDS >> Mysql

Извършване на ляво присъединяване в таблица много към много с условия

Ако разбирам концепциите зад вашата схема, тогава бих си помислил stage_id трябва да бъде колона в team_pool вместо pool . Сцената не е атрибут на групата, тя е фактор в съпоставянето на отбори с пулове, нали?

Независимо от това, ето как бих написал вашето запитване в Oracle. Не съм сигурен дали този точен синтаксис е подходящ за MySQL. Вероятно бихте искали да параметризирате литералната стойност за 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Отстраняване на грешки в PDO - Преглед на заявка СЛЕД обвързване?

  2. Каква е сделката с unicode символа 首(U+9996) и как java/mysql се справя с него и неговите приятели?

  3. mySQL CAST и ASC / DESC

  4. актуализира колоната на таблицата след вмъкване на нов запис с помощта на MySQL тригери

  5. Някой може ли да обясни външните ключове на MySQL