2013-01-25 27 views
0

如何檢索INNER JOIN結果中所有列的數據?我用這個查詢:從內部連接結果中檢索所有列中的所有數據

SELECT course.course_title, 
     course.course_body, 
     course. course_image, 
     instructor.instructor_title, 
     instructor.instructor_body, 
     instructor.instructor_photo 
FROM course 
INNER JOIN instructor 
ON course.course_instructor1=instructor.instructor_nid 
WHERE course_id=4 

,這是相當於可變COURSE_OUTLINE,我將使用執行

String COURSE_OUTLINE = 
     "SELECT " + Qualified.COURSE_TITLE + ", " 
        + Qualified.COURSE_BODY + ", " 
        + Qualified.COURSE_IMAGE + ", " 
        + Qualified.INSTRUCTOR_TITLE + ", " 
        + Qualified.INSTRUCTOR_BODY + ", " 
        + Qualified.INSTRUCTOR_IMAGE + ", " + 
     "FROM " + Tables.COURSE_JOIN_INSTRUCTOR + 
     "WHERE " + CourseColumns.COURSE_ID + 
     "=?"; 

在我的代碼,

Cursor cur = mSqliteDb.rawQuery(SubQuery.COURSE_OUTLINE, new String[] {position}); 

這使1分的紀錄。我知道如何從特定列中檢索數據,但我不知道如何從所有列中檢索數據。

這是我用來從一個特定的列

public String getCourseImage(int position) { 
    String image = ""; 
    String pos = Integer.toString(position); 

    Cursor cur = mSqliteDb.rawQuery(SelectQuery.ALL_COURSES, new String[] {pos}); 
    if (cur != null) { 
     if (cur.moveToFirst()) { 
      do { 
       image = cur.getString(cur.getColumnIndex(CourseColumns.COURSE_IMAGE)); 
      } while (cur.moveToNext()); 
     } 
     cur.close(); 
    } 
    return image; 
} 

檢索數據我的本意是在一列映射每個數據到View

+0

您是否期待不止一行?在我的書中,將會有一門課程設置爲'course_id = 4',該課程將有一位主講師(由'course_instructor1'指定) –

+0

@lc。從數據庫中,不應該只給出1條記錄。 – chip

+0

對不起,誤讀了這個問題。認爲這個問題是你不知道如何獲得更多的行。您使用哪些代碼從特定列中檢索數據,以及您嘗試將其映射到View的哪些內容? (試圖看到你想要做什麼) –

回答

0

getColumnNames爲您提供了所有列的數組代碼..如果這就是你要求的。這很難說。

+0

其中我想從所有列中檢索的數據而不是列名本身 – chip

+0

但是你說你知道如何獲取數據一個特定的列? '列中的每一列getDataForSpecificColumn'? – Alex

相關問題