1

問題は、最初のテーブルが 3 つのテーブルから選択クエリを作成する必要があることです。

会場

  • _id
  • 名前

チーム

  • _id
  • group_id
  • コード
  • 名前

マッチ

  • _id
  • ステージ
  • 会場ID
  • team1_id
  • team2_id
  • キックオフ

必要なのは、会場の名前、試合のキックオフ、チームの名前、チームの名前を 持つ選択クエリ作成することです

ここで、最初の名前は最初のチーム、2 番目の名前は 2 番目のチームです。

これは私のクエリです:

select v.name,m.[kickoff],t.name,stage
from venue v,match m,team t
where m.venue_id = v._id
and 
t._id = m.team1_id
and 
t._id = m.team2_id
4

1 に答える 1

1

このクエリは、あなたが求めているものであるべきだと思います:

SELECT v.Name, m.[kickoff], team1.name, team2.name, stage
    FROM Match AS m
    INNER JOIN Venue AS V ON m.venue_id = v._id
    INNER JOIN Team AS team1 ON m.team1_id = team1._id
    INNER JOIN Team AS team2 ON m.team2_id = team2._id

元のクエリで発生している問題は、実際には2つのチームが試合にリンクされているが、1つだけを考慮していて、クエリの最後の部分であることだと思います:

t._id = m.team1_id
and 
t._id = m.team2_id

... チームが自分自身でプレーしている場合にのみ true になります。

于 2014-04-17T10:27:34.307 に答える