背景
我有一个Android项目,该项目的数据库包含两个表:tbl_question
和tbl_alternative
。
要使用问题和替代方法填充视图,我正在使用游标。在尝试连接两个表之前,获取所需数据没有任何问题。
Tbl_question ------------- _ID 题 分类ID
Tbl_alternative --------------- _ID 问题ID 分类ID 另类
我想要以下内容:
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难于形成查询,但是由于这种方式不太容易出错,因此已经获得了使用这种方式的建议。
题
如何在应用程序中联接两个SQLite表?