ITPub博客

首页 > Linux操作系统 > Linux操作系统 > PL/SQL编程之道之CASE使用(21)

PL/SQL编程之道之CASE使用(21)

原创 Linux操作系统 作者:道行尚浅 时间:2010-11-05 13:55:59 0 删除 编辑

思路 按照学生姓名 课程类别 分组 获得每个学生在每个类别上获得的学分总数。比较每个学生的总分数与规定分数。如果三科皆满则显示在毕业列中。

 

SELECT STUDENT_NAME,
(Case When SUM(CASE
                         WHEN SUM_CRE >= RQD_CREDITS THEN
                            1
                         ELSE
                            0
                     END)=3 Then 'X' Else Null End ),
(Case When SUM(CASEa
                         WHEN SUM_CRE >= RQD_CREDITS THEN
                            1
                         ELSE
                            0
                     END)!= 3 Then 'X' Else Null End )           
    FROM CATEGORIES CAT,
             (SELECT STUDENT_NAME, CREDIT_CAT, SUM(CREDITS) SUM_CRE
                    FROM CREDITSEARNED
                 GROUP BY STUDENT_NAME, CREDIT_CAT) CRE
 WHERE CAT.CREDIT_CAT(+) = CRE.CREDIT_CAT
 GROUP BY STUDENT_NAME

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24558043/viewspace-677561/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-09-14

  • 博文量
    33
  • 访问量
    37746