23

I am trying to find out how to do a simple table join on my two tables using a sqlite database in an android application.

Is the simplest way to use CursorJoiner or is there any easier way?

4

2 に答える 2

27

SQLiteDatabaseSQLiteQueryBuilderの実装では、結合したいテーブルを のtable引数に渡すことができることがわかりますがquery、ドキュメントではテーブルの単一の名前しかとらないことが示されています。SQLiteQueryBuilderのドキュメントはより明確であり、foo, barまたはのようなことさえ示唆してい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 に答える