배경
나는 두 개의 테이블이있는 데이터베이스가 안드로이드 프로젝트를 가지고 tbl_question
와 tbl_alternative
.
보기를 질문과 대안으로 채우기 위해 커서를 사용하고 있습니다. 두 테이블을 조인 할 때까지 필요한 데이터를 가져 오는 데 문제가 없습니다.
Tbl_question ------------- _신분증 질문 categoryid
Tbl_alternative --------------- _신분증 질문 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 테이블을 어떻게 조인합니까?