我有一个使用 sqlite 数据库的 android 应用程序,问题是我需要从第一个表的 3 个表中进行选择查询
地点
- _id
- 姓名
- 城市
团队
- _id
- group_id
- 代码
- 姓名
匹配
- _id
- 阶段
- field 编号
- team1_id
- team2_id
- 开场
我需要做一个选择查询,其中包含name from venue、kickoff from match、name from team 和团队名称
名字是第一队,第二名是第二队
这是我的查询:
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
最佳答案
我认为这个查询应该是你所追求的:
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
...只有当球队在比赛时才会为真。
关于android - 如何使用 sqlite 查询从三个表中检索我需要的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129838/