2012-05-10 2 views
1

먼저 데이터베이스 구조를 게시 해주십시오. 테이블 : monsterdata - http://prntscr.com/92eet 테이블 : user_team - http://prntscr.com/92eefSQL - JOIN에 여러 절이 있습니까?

내가 원하는 user_team 데이터 (M1, M2, M3, M4, M5, M6) 나는 다른 정보를 검색 할 수 있도록 monsterdata.id과 일치해야합니다. 내가 무엇을 관리하는 하나의 데이터

SELECT * FROM monsterdata LEFT JOIN user_team ON monsterdata.id=user_team.m1 

하지만 제가 정말하고 싶은 것은, m2 M3, M4를 포함, M5는, M6는 monsterdata.id에 = user_team.X

이 검색했다 바보 같을지도 모르지만 나는 이것을하는 방법을 생각하지 않는 것이 더 바보입니다. 도움을 주셔서 감사합니다!

답변

3
SELECT * 
    FROM monsterdata LEFT JOIN user_team 
    ON monsterdata.id=user_team.m1 AND/OR 
    monsterdata.id=user_team.m2 AND/OR ... 

저기!

1

시도해보십시오.

SELECT * FROM monsterdata 
LEFT JOIN user_team 
ON (monsterdata.id=user_team.m1 
OR monsterdata.id=user_team.m2 
OR monsterdata.id=user_team.m3 
OR monsterdata.id=user_team.m4 
OR monsterdata.id=user_team.m5 
OR monsterdata.id=user_team.m6) 
+0

을 @JonasEverest –

0

당신은이 조건을 사용할 수 있습니다 속임수를 썼는지

SELECT * FROM monsterdata 
LEFT JOIN user_team 
ON monsterdata.id = COALESCE(
    user_team.m1,user_team.m2,user_team.m3, 
    user_team.m4,user_team.m5,user_team.m6) 
관련 문제