23

我正在尝试找出如何使用 android 应用程序中的 sqlite 数据库对我的两个表进行简单的表连接。

是使用 CursorJoiner 的最简单方法还是有更简单的方法?

4

2 回答 2

27

SQLiteDatabaseSQLiteQueryBuilder的实现中,您将看到可以将要连接的表传递给table参数 ,query即使文档暗示它只会采用表的单个名称。SQLiteQueryBuilder的文档更加清晰,甚至建议使用foo, baror之类的东西foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id)

于 2010-07-19T03:14:25.090 回答
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());

更多细节在这里

于 2014-07-25T21:30:35.923 回答