1

クエリがありますが、別のテーブルから別のフィールドを追加したい...

これは私が今使っているものです:

SELECT * 
FROM tournaments t , tournament_participants t1 
WHERE t.tournament_id = t1.tournament_id 
ORDER BY t1.tournament_id, t1.team_id;

team_idこれは正常に機能しますが、このクエリの一部としてを使用して、チーム テーブルからチーム名を取得したい...

これを行う方法がわかりません。誰か助けてもらえますか?

4

3 に答える 3

0

あなたが持っているテーブルスキーマの種類がわかりません。次のクエリは、多くの仮定に基づいています。だから私はあなたが本当に必要とするものに間違っているかもしれません. ぜひご覧ください。

クエリ:

select p.pid, p.pname, t.id as teamID
from participants p
left join tournament tt
on p.ttnid = tt.tnid
inner join team t
on tt.tnid = t.ttid

結果:

PID     PNAME   TEAMID
1       john    10
2       tim     10
3       alex    20
4       ron     20
5       kate    30

参考:SQLFIDDLE

別の解決策や詳細な説明が必要な場合はお知らせください:)

于 2012-11-26T13:20:01.967 に答える
0

単純に結合を使用する:

SELECT * FROM tournaments AS t 
LEFT JOIN tournament_partecipants AS tp ON t.tournament_id = tp.tournament_id 
LEFT JOIN team ON tp.team_id = team.team_id 
ORDER BY tp.tournament_id, tp.team_id
于 2012-11-26T12:56:55.037 に答える