android - 如何使用 sqlite 查询从三个表中检索我需要的数据?

标签 android select runtime-error android-sqlite nul

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

地点

  • _id
  • 姓名
  • 城市

团队

  • _id
  • group_id
  • 代码
  • 姓名

匹配

  • _id
  • 阶段
  • field 编号
  • team1_id
  • team2_id
  • 开场

我需要做一个选择查询,其中包含name from venuekickoff from matchname 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/

相关文章:

android - 确定应用程序是否在后台运行

java - 在构建时从 Gradle 设置静态变量

mysql - 是否可以在 SQL 中的 SELECT 中合并?

angular - ExpressionChangedAfterItHasBeenCheckedError : Expression has changed after it was checked. 以前的值: 'undefined'

c - 段错误: 11 while running C program

android - Google Play Store Web to Device 安装未通过 INSTALL_REFERRER

android - SharedPreferences里存 "JSON.stringify"数据不好吗?

php - 页面加载时重新加载下拉菜单

php - 如何组合两个具有不同 ORDER BY 子句的 SQL 查询

javascript - Node.js 停止播放音频