0

私のクエリは次のとおりです。

select 
    C.GradePoint, D.Domain
from
    (select 
         A.course_code, B.course_title, A.GradePoint
     from
         (select 
              course_code, GradePoint
          from 
              CoursesResult$
          where 
              roll_number = '42472' and GradePoint != 'I' 
              and GradePoint != 'F' and GradePoint != 'D-' 
              and GradePoint != 'D+' and GradePoint != 'D'
              and GradePoint != 'C-' and GradePoint != 'C'
              and GradePoint != 'C+') A  
     join Courses$ B on A.course_code=B.course_code) C 
     join Domains$ D on C.course_title=D.Courses

出力:

GradePoint         Domain
1.    B+        Software Developer
2.    B-        Software Developer
3.    B-        Software Developer
4.    B-        Project Management
5.    B-        Business Intelligence and Analytics
6.    B+        Business Intelligence and Analytics
7.    B+        Business Intelligence and Analytics
8.    B-        Game Development
9.    B             Game Development
10.    B-       Database Administrator
11.    B-       Database Administrator
12.    B        Database Administrator

現在、各学年の番号は

  1. B=3
  2. B+ =4
  3. B- = 2

ドメインごとの成績のカウントを計算したい

必要な出力:

  1. ソフトウェア開発者 8
  2. ビジネスインテリジェンスと分析 10
  3. データベース管理者 7
  4. 等々

誰か助けてくれませんか??

4

1 に答える 1

0

最初の 2 行を次のように置き換えます。

select 
SUM(CASE C.GradePoint WHEN 'B' THEN 3 WHEN 'B+' THEN 4 WHEN 'B-' THEN 2 ELSE 0 END), 
D.Domain

GROUP BY D.Domainそして、クエリの最後に追加します

于 2013-04-26T04:58:00.570 に答える