1

我有使用预先填充的sqlite数据库的android应用程序问题是我需要从第一个表的3个表中进行选择查询

场地

  • _ID
  • 姓名
  • 城市

团队

  • _ID
  • group_id
  • 代码
  • 姓名

匹配

  • _ID
  • 阶段
  • 场地_id
  • team1_id
  • team2_id
  • 开始

我需要做一个选择查询,其中包含场地名称比赛开球团队名称和团队名称

其中第一个名字是第一队,第二个名字是第二队

这是我的查询:

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 支球队与一场比赛相关联,但您只考虑一个,以及查询的最后一部分:

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

......只有当球队自己打球时才会如此。

于 2014-04-17T10:27:34.307 回答