如何在Android中使用SQLite连接表

23

我试图在我的Android应用程序中使用SQLite数据库对两个表进行简单的表连接,想知道最简单的方法是使用CursorJoiner还是有其他更简单的方法?


最好在SQL中完成此操作。使用必要的JOIN创建一个VIEW。 - yanchenko
我尝试过那样做,但由于某些原因我的项目无法识别它。 - Dale Marshall
1
https://dev59.com/sW445IYBdhLWcg3wQoAj#4957197 - Zsolt Safrany
2个回答

27
在实现 SQLiteDatabaseSQLiteQueryBuilder 中,你会发现可以通过 table 参数将要连接的表传递给 query 方法,尽管官方文档中似乎只能传递单个表名。 SQLiteQueryBuilder 的文档更为清晰,甚至建议像 foo, barfoo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id) 这样的语法。

1

如果你愿意使用第三方库,我建议使用Active Android

https://github.com/pardom/ActiveAndroid

使用它可以像这样合并表格。
From query = new Select()
    .from(Foo.class)
    .innerJoin(Bar.class)
    .on("Foo.Id=Bar.Id");

你甚至可以在加载器中获取光标。
Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments());

更多细节请点击这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接