Фон
У мене є проект Android, який має базу даних з двома таблицями: tbl_questionі tbl_alternative.
Для заповнення поглядів питаннями та альтернативами я використовую курсори. Не виникає проблем з отриманням потрібних даних, поки я не спробую приєднати дві таблиці.
Tbl_question
-------------
_id
питання
категоричний
Tbl_alternative
---------------
_id
Questionid
категоричний
альтернатива
Я хочу щось на зразок наступного:
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 у моїй програмі?