2011-09-21 3 views
2

이 부분은 매우 구체적이므로 빠른 수정을 기대하고 있습니다.왼쪽 조인, 오른쪽에서 1 개의 결과를 지정하는 방법?

각 팀의 리더 보드 테이블에 단일 결과가 있습니다. 내 팀 테이블에는 각 팀에 대해 여러 가지 결과가 있습니다 (팀 개발 내역을 가능하게하는 게임 당 하나의 결과).

리더 보드에 각 팀을 한 번 표시하고 teamID를 strName으로 바꾸고 싶습니다. 문제는 내 왼쪽 조인이 각 팀 결과에 대해 하나의 레코드를 제공한다는 것입니다. 나는 하나의 기록 만 원한다.

SELECT * , a.strName AS teamName 
FROM bb_leaderboards l 
LEFT JOIN bb_teams a ON (l.teamID = a.ID) 
WHERE l.season =8 
AND l.division =1 
ORDER BY l.division DESC , points DESC , wins DESC , l.TDdiff DESC 
LIMIT 0 , 30 

1 : 1 출력을 얻으려면 어떻게해야합니까?

+1

1 : 1 관계인 경우 데이터에이를 반영해야합니다. 잘못된 데이터를 수정하기 위해 SQL 문을 가져올 수 없습니다. 거기에 많은 l.teamID에 대한 ID가 있다면, 이것을 할 올바른 방법이 없습니다 –

+0

그래서 1 개의 결과로 조인 부분을 '제한'할 수 없습니까? strTeam의 주요 선택 항목에서 '그룹화'를 시도했지만 데이터가 올바르지 않습니다./ – Chelmet

답변

1

SELECT DISTINCT를 대신 수행 할 수 있지만 선택 범위를 좁혀 야합니다. 따라서 :

SELECT DISTINCT l.*, a.strName AS teamName 
... 

중복을 필터링해야합니다.

+0

답변 해 주셔서 감사합니다. 정말 죄송합니다. – Chelmet