2017-08-26 126 views
1

我正在做一个SQL查询,我试图总结我的子查询的结果,但没有成功。该命令不执行 有人可以帮助我吗?Sum子查询Oracle

我做的查询是:

SELECT cm.course_id,cm.course_name, sum (select max(SCORE) from 
ATTEMPT where GRADEBOOK_GRADE_PK1 = GG.PK1 group by 1) 

FROM gradebook_main gm 
    JOIN course_main cm ON cm.pk1 = gm.crsmain_pk1 
    JOIN gradebook_grade gg ON gm.pk1 = gg.gradebook_main_pk1 
    JOIN course_users cu ON cu.pk1 = gg.course_users_pk1 
    JOIN users u ON u.pk1 = cu.users_pk1 

WHERE U.user_id = '1616894251' 
group by cm.course_id, cm.course_name 

谢谢!

+0

子查询您可以通过1组声明,但你没有在子查询SELECT子句中的列..你所需要的列..用明确的名字 – scaisEdge

回答

0

我已经试过你的子查询中构建的连接表..hopre GROUP BY列是GRADEBOOK_GRADE_PK1

SELECT 
     cm.course_id 
     , cm.course_name 
     , sum (t.max_score 
    ) 
    FROM gradebook_main gm 
    JOIN course_main cm ON cm.pk1 = gm.crsmain_pk1 
    JOIN gradebook_grade gg ON gm.pk1 = gg.gradebook_main_pk1 
    JOIN course_users cu ON cu.pk1 = gg.course_users_pk1 
    JOIN users u ON u.pk1 = cu.users_pk1 
    JOIN (
    select GRADEBOOK_GRADE_PK1, max(SCORE) max_score 
    from ATTEMPT 
    group by GRADEBOOK_GRADE_PK1 
) t on t.GRADEBOOK_GRADE_PK1 = GG.PK1 
    WHERE U.user_id = '1616894251' 
    group by cm.course_id, cm.course_name 
+0

老兄,我没有话语​​要谢谢你。 很多很多,谢谢! –