android - 从具有多个相关条目的多个SQL表中检索数据

标签 android sqlite android-sqlite

我有一个包含三个与外键相关的表的数据库:

行程:

ID
Number
Date


天:

ID
TripID (Foreign key to ID column in trips)
Date
Start
End


腿部:

ID
DayID (Foreign key to ID column in days)
Origin
Destination


在我的应用程序中,我有一个Trip类,Day类和Leg类对应于每个表。每次旅行都有一个关联的天数列表,每天都有一个关联的腿数列表。目前,我通过运行所需行程的查询从数据库加载数据。然后,我运行另一个查询以获取与该行程相关的所有天并将其添加,然后我每天运行一个查询以获取相关的行程并将其添加。

在我看来,应该有一种更有效的方法来完成此任务。我唯一的其他选择是对三个表进行三重联接,并获得一个游标,该游标的每条腿都有一行,该行也包含该腿的全天和行程数据吗?有更好的方法吗?我对SQL查询不太熟悉。

最佳答案

加入是显而易见的答案:

SELECT * FOM Trips t JOIN Days d
ON t.Id = d.TripId
JOIN Legs l 
ON d.Id = l.DayId
WHERE t.Id = tripId


您需要将tripId替换为您要查找的旅程的ID。一个好主意是用您需要返回到应用程序的实际列替换*

关于android - 从具有多个相关条目的多个SQL表中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14063870/

相关文章:

python - Django wsgiref/handlers.py 像往常一样抛出异常

android - 没有数据库锁!在安卓中

android - 在sqlite数据库中排序日期?

java - 实现单例 SqliteDatabaseHelper 类的正确方法

java - 将节点转换为元素时出现 Dom XML 解析器异常

android - 在应用程序中使用外部静态库 (NDK)

android - Phonegap/ Cordova : get images from server

android - 找不到 BLE 广告

java - 使用正则表达式查询 Android SQLite 数据库

python - 不间断 sleep 是否是导致我的 Python 程序运行缓慢的原因(如果是,我该如何解决?)?