2016-09-14 1 views
1

사용자를 연결하는 일정 (주 1, 2, 3 등)에 대한 조인 테이블이 있습니다. 조인 테이블의 각 주에는 사용자 A와 사용자 B라는 두 명의 개별 사용자에 대한 ID가 있습니다. 그러나 매주 여러 행이 있습니다. 그래서 다음과 같습니다MySQL의 JOIN 테이블에서 동일한 테이블의 여러 행 끌어 오기

스케줄 표 :

----------------------------------- 
| week_id | userA_id | userB_id | 
----------------------------------- 
| 1 |  1  | 2  | 
| 1 |  2  | 3  | 
---------------------------------- 

나는 또한 사용자에 대한 모든 정보, 아주 기본적인 물건을 저장하는 사용자 테이블이있다. 그래서, 예를 들어 :

사용자 테이블 :

----------------------------------- 
| id | Name | Nickname | 
----------------------------------- 
| 1 | jason | jay | 
| 2 | billy | bill | 
---------------------------------- 

는 내가 뭘하려는 각 주에 대한 사용자의 일련의 반환 다음 주 ID를 기반으로 내 스케줄 표를 조회하고 있습니다. 예를 들어 [{UserA.name : jason, UserB.name : billy}, {UserA.name : billy, UserB.name : jane}]과 같은 일련의 객체에서 1 주째부터 모든 사용자를 나에게 줘,

나는 여러 개의 JOIN 문이 포함될 것이라고 몰래 의심하지만, 제대로 작동하지 않는 것 같습니다. 누구든지이 MySQL 문을 구조화하는 방법을 알고 있습니까?

답변

0

여기서 한 가지 옵션은 테이블에 두 번 Schedule 테이블을 두 번 참여시키는 것입니다. 하나는 관계에있는 각 사용자에 대해 하나의 조인입니다.

SELECT u1.Name, 
     u2.Name 
FROM Schedule s 
INNER JOIN User u1 
    ON s.userA_id = u1.id 
INNER JOIN User u2 
    ON s.userB_id = u2.id 
WHERE s.week_id = 1 
+0

예 죄송합니다, 이전의 의견을 삭제했습니다. 내 오류. 고마워, 나는 이것이 완벽하게 작동하고 있다고 생각한다! –

관련 문제