我试图找到在Android应用程序中使用sqlite数据库在我的两个表上进行简单表连接的最佳方法。是使用CursorJoiner最简单的方法还是有更简单的方法?
答案 0 :(得分:27)
在SQLiteDatabase和SQLiteQueryBuilder的实现中,您将看到可以将您要加入的表传递给query
的table
参数,即使文档意味着它只需要一个表的名称。 SQLiteQueryBuilder的文档更加清晰,甚至可以建议foo, bar
或foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id)
等内容。
答案 1 :(得分: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());
更多详情here