Lý lịch
Tôi có một dự án Android có cơ sở dữ liệu với hai bảng: tbl_question
và tbl_alternative
.
Để điền các chế độ xem với các câu hỏi và lựa chọn thay thế, tôi đang sử dụng con trỏ. Không có vấn đề gì trong việc lấy dữ liệu tôi cần cho đến khi tôi cố gắng nối hai bảng.
Tbl_question ------------- _Tôi câu hỏi Thể loại ID
Tbl_alternative --------------- _Tôi câu hỏi Thể loại ID thay thế
Tôi muốn một cái gì đó như sau:
SELECT tbl_question.question, tbl_alternative.alternative where
categoryid=tbl_alternative.categoryid AND tbl_question._id =
tbl_alternative.questionid.`
Đây là nỗ lực của tôi:
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;
Tôi thấy cách này để tạo truy vấn khó hơn SQL thông thường, nhưng tôi đã nhận được lời khuyên nên sử dụng cách này vì nó ít bị lỗi hơn.
Câu hỏi
Làm cách nào để nối hai bảng SQLite trong ứng dụng của tôi?