2016-10-16 13 views
2

値Iが持っているものだと、ここで私が達成しようとしているものです:複数の検索はここで

teams TABLE 
TeamID Season  Coach1  Coach2 
1  2011  35   22 
2  2011  27 
3  2012  11 
4  2013  22   13 

staff TABLE 
StaffID  Nickname 
11   Bob 
13   Rick 
22   Mary 
27   Steve 
35   Joe 

desired OUTPUT: 
TeamID Season c1  c2 
1  2011  Joe  Mary 
2  2011  Steve 
3  2012  Bob 
4  2013  Mary  Rick 

ここに私の現在のMYSQLクエリです:

SELECT gt.TeamID, gt.Season, gt.Coach1, c1.Nickname c1Nickname, gt.Coach2, c2.Nickname c2Nickname 
FROM gladiator_teams as gt, staff as c1, staff as c2 
WHERE gt.Coach1=c1.StaffID AND gt.Coach2=c2.StaffID 

これが返されます:

TeamID Season c1  c2 
1  2011  Joe  Mary 
4  2013  Mary  Rick 

コーチ2のNULL値を持つ行を返すようにクエリを変更する方法がわかりません。 IFNULL関数はどこかへ行くことができますが、どこを正確に把握することはできません。どんな助けでも大歓迎です!

答えて

0

あなたは左JOINを使用する必要があり

SELECT 
    gt.TeamID 
, gt.Season 
, gt.Coach1 
, c1.Nickname c1Nickname 
, gt.Coach2 
, c2.Nickname c2Nickname 
FROM gladiator_teams as gt 
LEFT JOIN staff as c1 gt.Coach1=c1.StaffID 
LEFT JOIN staff as c2 gt.Coach2=c2.StaffID