2013-01-25 30 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

相关问题