พื้นหลัง
ฉันมีโครงการ Android ที่มีฐานข้อมูลสองตาราง: tbl_question
และtbl_alternative
.
เพื่อเติมเต็มมุมมองด้วยคำถามและทางเลือกฉันใช้เคอร์เซอร์ ไม่มีปัญหาในการรับข้อมูลที่ฉันต้องการจนกว่าฉันจะพยายามรวมสองตาราง
Tbl_question ------------- _id คำถาม categoryid
Tbl_alternative --------------- _id คำถาม categoryid ทางเลือก
ฉันต้องการสิ่งต่อไปนี้:
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 สองตารางในแอปพลิเคชันของฉันได้อย่างไร