用临时表处理起来容易一点,如果一定要用一句SQL来检索的话只能几个用子查询select StudentName,C.Grade_float,M.Grade_float,..... from T_Students Sleft outer join (select Grade_float,StudentID from T_Grade left outer join T_Course on T_Grade.CourseID = T_Course.CourseID where T_Course.CourseName='语文')C on C.StudentID = S.StudentIDleft outer join (select Grade_float,StudentID from T_Grade left outer join T_Course on T_Grade.CourseID = T_Course.CourseID where T_Course.CourseName='数学')M on M.StudentID = S.StudentID.........抛砖引玉,希望有更好的方法