如何在我的Android应用程序中加入两个SQLite表?

背景

我有一个Android项目,它有一个包含两个表的数据库:tbl_question和tbl_alternative。


要使用问题和替代方法填充视图,我使用游标。在我尝试加入这两个表之前,获取所需的数据没有问题。


    Tbl_question  

    -------------

    _ID  

    题  

    类别ID  

    Tbl_alternative

    ---------------

    _ID 

    questionid 

    类别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表?


翻阅古今
浏览 333回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android