두 명의 사용자가 떨어져있는 리그 (뚜껑)를 찾으려고합니다.mysql은 매칭 결과를 선택합니다.
표 리그 : 여기
내 테이블입니다*id* lname
--------------
1 Hard C
3 Fun
5 Crazy
표 일치 :
*userid* *lid*
-----------------
1 1
4 5
1 3
2 1
4 1
4 3
* 기본 키는
match.lid
가 leagues.id
에 외래 키 (사용자입니다인가 같은 리그에 2 번 출전해서는 안된다.)
는 여기에 지금까지 (시작)가 무엇 :
SELECT t1.lid, t2.lname
FROM match t1
JOIN leagues t2 on t1.lid = t2.id
를 지금까지 내가 두 테이블에 가입하고 이름을 얻을 수 있었다. 나의 궁극적 인 목표는 두 사용자가 같은 리그의 일부인 lid
년대의 구성원 인 userid
1과 4
userid
1 lid
1, 3
userid
4의 구성원 인 말을 보여주는 것입니다 lid
5, 1, 3
두 사용자가 리그에서의 만남 (lid
) 1
3 그래서 나는 두 사용자가 모두 충족에만 리그를 표시하는 쿼리가 필요합니다. 이처럼 :
lid lname
--------------
1 Hard C
3 Fun
리그 1과 3에서 만나 1 userid
이후, 4, 결과는 것을 보여 주어야한다. 각 사용자에 대해 두 개의 쿼리를 실행하고 두 사용자가 PHP를 통해 어느 리그를 만나는 지 확인할 수는 있지만 하나의 쿼리를 실행하는 것이 더 효율적이라고 생각합니다.
간단하고 빠른 쿼리가 0.0004 초 걸렸습니다. – user962449