Antecedentes
Tengo un proyecto de Android que tiene una base de datos con dos tablas: tbl_question
y tbl_alternative
.
Para poblar las vistas con preguntas y alternativas, estoy usando cursores. No hay problemas para obtener los datos que necesito hasta que intento unir las dos tablas.
Tbl_question ------------- _carné de identidad pregunta categoria ID
Tbl_alternative --------------- _carné de identidad questionid categoria ID alternativa
Quiero algo como lo siguiente:
SELECT tbl_question.question, tbl_alternative.alternative where
categoryid=tbl_alternative.categoryid AND tbl_question._id =
tbl_alternative.questionid.`
Este es mi intento:
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;
Encuentro que esta forma de formular consultas es más difícil que el SQL normal, pero he recibido el consejo de usar esta forma ya que es menos propenso a errores.
Pregunta
¿Cómo puedo unir dos tablas SQLite en mi aplicación?