2012-01-05 3 views
0

p1.username всегда имеет значение, которое не соответствует таблице VB_user. Проблема в том, что p2.username имеет значение по умолчанию 0, и это не значение в таблице VB_user. Поэтому, если я запустил запрос, он будет показывать только результаты, если p2.username не имеет значения 0. Как я могу это сделать, если p2.username имеет значение 0, которое будет показано в моих результатах, так как VB_user.userid не имеет 0, может ли я еще что-нибудь показать?добавление оператора if в запрос mysql

Другими словами, я хочу иметь возможность показывать результаты p2.username, даже если его значение равно 0.

Вот мой запрос:

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

Смежные вопросы