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