2017-08-26 88 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

老兄,我沒有話語​​要謝謝你。 很多很多,謝謝! –