Hintergrund
Ich habe ein Android-Projekt, das eine Datenbank mit zwei Tabellen hat: tbl_questionund tbl_alternative.
Um die Ansichten mit Fragen und Alternativen zu füllen, verwende ich Cursor. Es gibt keine Probleme beim Abrufen der benötigten Daten, bis ich versuche, die beiden Tabellen zu verbinden.
Tbl_question
-------------
_Ich würde
Frage
Kategorie ID
Tbl_alternative
---------------
_Ich würde
fragend
Kategorie ID
Alternative
Ich möchte so etwas wie das Folgende:
SELECT tbl_question.question, tbl_alternative.alternative where
categoryid=tbl_alternative.categoryid AND tbl_question._id =
tbl_alternative.questionid.`
Das ist mein Versuch:
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;
Ich finde diesen Weg zum Erstellen von Abfragen schwieriger als normales SQL, habe aber den Rat erhalten, diesen Weg zu verwenden, da er weniger fehleranfällig ist.
Frage
Wie verbinde ich zwei SQLite-Tabellen in meiner Anwendung?