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

Tham chiếu đến truy vấn bên ngoài trong truy vấn con JOIN

SELECT p1.*, p2.*
FROM player p1
JOIN team t1
  ON t1.id = p1.team_id AND t1.id = My_Team_ID
LEFT JOIN player p2
  ON p2.id != p1.id
JOIN team t2
  ON t2.id = p2.team_id AND t2.id != My_Team_ID
LEFT JOIN game g1
  ON (g1.playerA_id = p1.id OR g1.playerB_id = p1.id)
  AND (g1.playerA_id = p2.id OR g1.playerB_id = p2.id)
WHERE g1.id IS NULL

Nếu tôi sử dụng 1 cho My_Team_ID, tôi nhận được kết quả sau, hiển thị các kết quả phù hợp còn lại:

id  team_id name            id  team_id     name
1   1       Laurent Dupuis  6   2           Alec Russell
2   1       Stéphane Leroy  6   2           Alec Russell
3   1       Julien le Guen  4   2           Mark Johnsson
3   1       Julien le Guen  6   2           Alec Russell



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Viết truy vấn con bằng Zend DB

  2. mysqld:Không thể thay đổi dir thành dữ liệu. Máy chủ không khởi động

  3. Chuyển đổi cơ sở dữ liệu MySQL từ latin sang UTF-8

  4. Tìm kiếm toàn văn bản mysql không hoạt động cho 3 ký tự

  5. Mysql lỗi 1236 từ chính khi đọc dữ liệu từ nhật ký nhị phân