Latar Belakang
Saya memiliki proyek Android yang memiliki database dengan dua tabel: tbl_questiondan tbl_alternative.
Untuk mengisi pandangan dengan pertanyaan dan alternatif, saya menggunakan kursor. Tidak ada masalah dalam mendapatkan data yang saya perlukan sampai saya mencoba menggabungkan kedua tabel tersebut.
Tbl_question
-------------
_Indo
pertanyaan
categoryid
Tbl_alternative
---------------
_Indo
questionid
categoryid
alternatif
Saya ingin sesuatu seperti berikut ini:
SELECT tbl_question.question, tbl_alternative.alternative where
categoryid=tbl_alternative.categoryid AND tbl_question._id =
tbl_alternative.questionid.`
Ini adalah usaha saya:
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;
Saya menemukan cara ini untuk membentuk kueri lebih sulit daripada SQL biasa, tetapi telah mendapat saran untuk menggunakan cara ini karena tidak terlalu rentan terhadap kesalahan.
Pertanyaan
Bagaimana cara menggabungkan dua tabel SQLite dalam aplikasi saya?