Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thực hiện phép nối trái trên bảng nhiều-nhiều với các điều kiện

Nếu tôi hiểu các khái niệm đằng sau giản đồ của bạn, thì tôi nghĩ stage_id phải là một cột trong team_pool thay vì pool . Giai đoạn không phải là một thuộc tính của nhóm, nó là một yếu tố trong việc ánh xạ các nhóm với nhóm, phải không?

Bất kể, đây là cách tôi viết truy vấn của bạn trong Oracle. Tôi không chắc liệu cú pháp chính xác này có phù hợp với MySQL hay không. Có lẽ bạn muốn tham số hóa giá trị chữ cho 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. PL / MySQL có tồn tại không?

  2. Thay đổi truy vấn SQL từ một điều kiện thành một số điều kiện

  3. Lưu trữ văn bản Mysql?

  4. Mysql so khớp ... so với đơn giản như% term%

  5. mysql chèn vào bảng nếu tồn tại