2012-01-05 2 views
0

p1.username은 항상 VB_user 테이블의 값을 갖습니다. 문제는 의 기본값이 0이며 VB_user 테이블의 값이 아니라는 것입니다. 따라서 쿼리를 실행하면 p2.username의 값이 0 인 경우에만 결과가 표시됩니다. p2.username의 값이 0 인 경우 내 결과에 표시됩니다. VB_user.userid에는 0이 없기 때문에 표시 할 수 있습니까?mysql 쿼리에 if 문을 추가하면

즉, 그 값이 0이더라도 p2.username의 결과를 표시하고 싶습니다.

SELECT p.r1, p.r2, p.rounds, p.whenmatch, p.created, p.status, p.lid, p1.userid AS userid1, p1.username AS challenger, p2.userid AS userid2, p2.username AS challenged, p3.lname 
     FROM AB_league_match p 
     JOIN VB_user p1 on p.challenger = p1.userid 
     JOIN VB_user p2 on p.challenged = p2.userid 
     JOIN AB_league p3 on p.lid = p3.id 
+0

당신은 p2.userid 의미 :

여기 내 쿼리? –

답변

1
SELECT p.r1, p.r2, p.rounds, p.whenmatch, p.created, p.status, p.lid, p1.userid AS userid1, p1.username AS challenger, p2.userid AS userid2, p2.username AS challenged, p3.lname 
     FROM AB_league_match p 
     JOIN VB_user p1 on p.challenger = p1.userid 
     LEFT JOIN VB_user p2 on p.challenged = p2.userid 
     JOIN AB_league p3 on p.lid = p3.id 
+0

왼쪽 조인을 잊어 버렸습니다 :/도움에 감사드립니다. 당신이 대답을 수락합니다. – user962449

관련 문제