Sum子查询Oracle

时间:2017-08-26 16:15:04

标签: sql oracle12c

我正在进行SQL查询,并且我试图对子查询的结果求和,但没有成功。该命令不会执行 有人能帮助我吗?

我正在做的查询是:

 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

谢谢!

1 个答案:

答案 0 :(得分:0)

我已经尝试将你的subselect构建为连接表..hopre按列分组为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