2017-10-28 8 views
1

"チーム"と "一致"という2つのテーブルがあります。マッチテーブルの2つのチームIDを実際のチーム名で選択して置き換えたいのですが私は1つのチーム名しか得ることができず、どのようにして2つを選ぶことができないのか分かりません。SQLがテーブルから別のテーブルに2つの値を選択して結合する

SELECT m.*, t.teamId, t.teamName FROM matches AS m 
JOIN teams AS t ON m.homeTeam = t.teamId 

マッチ表

ID* 
Date 
homeTeam (id) 
awayTeam (id) 

チーム表

ID* 
Name 

答えて

2

あなたは二回、あなたのteamsテーブルに参加する必要があります。 matchesテーブルにチームエントリごとに1回

SELECT 
    m.id 
    , m.date 
    , h.teamId as homeTeamID 
    , h.teamName as homeTeamName 
    , a.teamId as awayTeamID 
    , a.teamName as awayTeamName 
FROM 
    matches AS m 
    JOIN teams AS h -- home team 
    ON m.homeTeam = h.teamId 
    JOIN teams AS a -- away team 
    on m.awayTeam = a.teamId 

フィールドの名前を推測しなければなりませんでしたが、これで十分なはずです。

+0

今は意味があります、ありがとうございます! –

+0

@strawberry良いキャッチ。一定。 – Jacobm001

関連する問題