sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
ANDhomework_attaches.bid_idin(SELECTbid_idFROMhomework_for_coursesWHEREcourse_id=#{@course.id}) GROUP BY members.user_id
UNIONall
SELECTmembers.*,0asscoreFROMmembers,homework_attaches,students_for_coursesWHEREmembers.course_id=#{@course.id} AND
students_for_courses.course_id=#{@course.id} and members.user_id = students_for_courses.student_id AND
sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
ANDhomework_attaches.bid_idin(SELECTbid_idFROMhomework_for_coursesWHEREcourse_id=#{@course.id}) GROUP BY members.user_id
UNIONall
SELECTmembers.*,0asscoreFROMmembers,homework_attaches,students_for_coursesWHEREmembers.course_id=#{@course.id} AND
students_for_courses.course_id=#{@course.id} and members.user_id = students_for_courses.student_id AND
WHEREmembers.course_id=#{@course.id} ORDER BY score #{score_sort_by}"
else
sql_select="SELECT members.*, SUM(homework_attaches.score) as score FROM members, homework_attaches
WHEREmembers.course_id=#{@course.id} AND members.user_id in (SELECT students_for_courses.student_id FROM students_for_courses WHERE course_id = #{@course.id}) AND members.user_id = homework_attaches.user_id
andmembers.course_group_id=#{groupid} AND homework_attaches.bid_id in (SELECT bid_id FROM homework_for_courses WHERE course_id = #{@course.id})
has_many:members,:include=>[:principal,:roles],:conditions=>"#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE}"
has_many:memberships,:class_name=>'Member'
has_many:member_principals,:class_name=>'Member',
@ -18,9 +18,9 @@ class Course < ActiveRecord::Base
:conditions=>"#{Principal.table_name}.type='Group' OR (#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE})"