バックグラウンド
私は2つのテーブルを持つデータベースを持っているAndroidのプロジェクトを持っている:tbl_questionとtbl_alternative。
ビューに質問と代替案を取り込むために、カーソルを使用しています。2つのテーブルを結合するまで、必要なデータを取得するのに問題はありません。
Tbl_question
-------------
_id
質問
categoryid
Tbl_alternative
---------------
_id
質問ID
categoryid
代替
次のようなものが欲しい:
SELECT tbl_question.question, tbl_alternative.alternative where
categoryid=tbl_alternative.categoryid AND tbl_question._id =
tbl_alternative.questionid.`
これは私の試みです:
public Cursor getAlternative(long categoryid) {
String[] columns = new String[] { KEY_Q_ID, KEY_IMAGE, KEY_QUESTION, KEY_ALT, KEY_QID};
String whereClause = KEY_CATEGORYID + "=" + categoryid +" AND "+ KEY_Q_ID +"="+ KEY_QID;
Cursor cursor = mDb.query(true, DBTABLE_QUESTION + " INNER JOIN "+ DBTABLE_ALTERNATIVE, columns, whereClause, null, null, null, null, null);
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
クエリを形成するこの方法は通常のSQLよりも難しいと思いますが、エラーが発生しにくいため、この方法を使用するようアドバイスを受けています。
質問
アプリケーションで2つのSQLiteテーブルを結合するにはどうすればよいですか?