2013-04-26 60 views
0

我的查詢是:SQL查詢表

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. 和等

任何人都可以幫忙嗎?

+0

那麼,有什麼具體問題? – 2013-04-26 04:48:12

+0

我想計算每個域名的等級計數 – user2312415 2013-04-26 04:58:02

回答

0

與此更換你的前兩行:

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

+0

非常感謝!做得好!! – user2312415 2013-04-26 07:20:52