1、 成绩表(CJB)
课程号(kch)  课程名(kcm)  学号(xh) 学分(xf)  学时(xs)  课程属性(kcsx)  考试成绩(kscj)2、学籍表(XJB)
学号(XH)  姓名(XM)  性别(XB)  系所号(XSH)  专业方向(ZYFX) 班名(BM) 所属年级(SSNJ)
3、系所表(XSB)
系所号(XSH)   系所名(XSM)
4、学分绩点(XFJ)
   绩点号(JDH)  绩点数(JDS) 下限分(XXF) 上限分(SXF)
JDH       JDS       XXF       SXF BZ
--- --------- --------- --------- --------------
  1         4        90       100 A(优)
  2       3.7        87      89.9 A-
  3       3.3        84      86.9 B+
  4         3        81      83.9 B(良)
  5       2.7        78      80.9 B-
  6       2.3        75      77.9 C+
  7         2        72      74.9 C(中)
  8       1.7        69      71.9 C-
  9       1.3        66      68.9 D+
 10         1        60      65.9 D
 12         0         0      59.9 F(不及格)        
如何用sql语句生成如下的形式呢?
系别  学号  性别 专业  层次  必修课学分  限选课学分  任选课学分(通识、复合) 任选课学分(教育类) 重修课程门次 重修课程学分  平均学分绩点注:任选课(通识、复合)课程名里都有“复合”二字  ,任选课(教育类)课程号前面是"JY"
   平均绩点计算方式为:每门课程绩点*学分/总学分

解决方案 »

  1.   

    成绩表(CJB)结构列名                          可空值否   类型               备注
    ------------------------------- -------- ----
    KCH                             NOT NULL VARCHAR2(10)       课程号
    KCM                                      VARCHAR2(50)       课程名
    KXH                                      NUMBER(4)          课序号
    XH                              NOT NULL VARCHAR2(12)       学号
    XNXQ                                     VARCHAR2(11)       学年学期
    XF                                       NUMBER(5,1)        学分
    XS                                       NUMBER(4,1)        学时数
    KCSX                                     VARCHAR2(4)        课程属性
    KSCJ                                     NUMBER(5,1)        考试成绩
    ...学籍表(XJB)结构:列名                          可空值否   类型            备注
    ------------------------------- -------- ----
    XH                              NOT NULL VARCHAR2(12)    学号
    XM                              NOT NULL VARCHAR2(40)    姓名
    XB                                       VARCHAR2(2)     性别
    XSH                                      VARCHAR2(5)     系所号
    ZYH                                      VARCHAR2(8)     专业号
    ZYFX                                     VARCHAR2(30)    专业方向(专业名)
    BM                                       VARCHAR2(10)    班级名称
    RXNJ                                     VARCHAR2(4)     入学年级
    SSNJ                                     VARCHAR2(4)     所属年级
    PYFS                                     VARCHAR2(20)    培养方式(层次)
    CXBKBZ                                   VARCHAR2(4)     成绩补考备注(补考,重修,辅修)
    ...系所表(XSB)结构:列名                          可空值否   类型             备注
    ------------------------------- -------- ----
    XSH                             NOT NULL VARCHAR2(5)      系所号
    XSM                                      VARCHAR2(30)     系所名称学分绩点转化表(XFJ)结构: 列名                          可空值否   类型
     ------------------------------- -------- ----
     JDH                             NOT NULL NUMBER(2)
     JDS                                      NUMBER(2,1)
     XXF                                      NUMBER(5,1)
     SXF                                      NUMBER(5,1)
     BZ                                       VARCHAR2(20)   
    以下是XFJ内的数据(各课程成绩通过这张表转换):JDH       JDS       XXF       SXF BZ 
    --- --------- --------- --------- -------------- 
      1         4        90       100 A(优) 
      2       3.7        87      89.9 A- 
      3       3.3        84      86.9 B+ 
      4         3        81      83.9 B(良) 
      5       2.7        78      80.9 B- 
      6       2.3        75      77.9 C+ 
      7         2        72      74.9 C(中) 
      8       1.7        69      71.9 C- 
      9       1.3        66      68.9 D+ 
     10         1        60      65.9 D 
     12         0         0      59.9 F(不及格)        如何用sql语句生成如下的形式呢? 
    系别  学号  性别 专业  培养层次  必修课学分  限选课学分  任选课学分(通识、复合) 任选课学分(教育类) 重修课程门次 重修课程学分  平均学分绩点 
    注:任选课(通识、复合)课程名里都有“复合”二字  ,任选课(教育类)课程号前面是"JY" 
       平均绩点计算方式为:每门课程绩点*学分/总学分 
    培养层次就是学籍表里培养方式字段里的值.解释:学分是根据教学计划制定出来的,每门课程的学分不一样,每门课程的绩点是根据成绩转化出来的,比如90-100是4,60以下没有绩点,就是这样.
      

  2.   

    成绩表(CJB)结构列名                          可空值否   类型               备注
    ------------------------------- -------- ----
    KCH                             NOT NULL VARCHAR2(10)       课程号
    KCM                                      VARCHAR2(50)       课程名
    KXH                                      NUMBER(4)          课序号
    XH                              NOT NULL VARCHAR2(12)       学号
    XNXQ                                     VARCHAR2(11)       学年学期
    XF                                       NUMBER(5,1)        学分
    XS                                       NUMBER(4,1)        学时数
    KCSX                                     VARCHAR2(4)        课程属性(必修,限选,任选)
    KSCJ                                     NUMBER(5,1)        考试成绩
    ...学籍表(XJB)结构:列名                          可空值否   类型            备注
    ------------------------------- -------- ----
    XH                              NOT NULL VARCHAR2(12)    学号
    XM                              NOT NULL VARCHAR2(40)    姓名
    XB                                       VARCHAR2(2)     性别
    XSH                                      VARCHAR2(5)     系所号
    ZYH                                      VARCHAR2(8)     专业号
    ZYFX                                     VARCHAR2(30)    专业方向(专业名)
    BM                                       VARCHAR2(10)    班级名称
    RXNJ                                     VARCHAR2(4)     入学年级
    SSNJ                                     VARCHAR2(4)     所属年级
    PYFS                                     VARCHAR2(20)    培养方式(层次)
    CXBKBZ                                   VARCHAR2(4)     成绩补考备注(补考,重修,辅修)
    ...系所表(XSB)结构:列名                          可空值否   类型             备注
    ------------------------------- -------- ----
    XSH                             NOT NULL VARCHAR2(5)      系所号
    XSM                                      VARCHAR2(30)     系所名称学分绩点转化表(XFJ)结构: 列名                          可空值否   类型
     ------------------------------- -------- ----
     JDH                             NOT NULL NUMBER(2)
     JDS                                      NUMBER(2,1)
     XXF                                      NUMBER(5,1)
     SXF                                      NUMBER(5,1)
     BZ                                       VARCHAR2(20)   
    以下是XFJ内的数据(各课程成绩通过这张表转换):JDH       JDS       XXF       SXF BZ 
    --- --------- --------- --------- -------------- 
      1         4        90       100 A(优) 
      2       3.7        87      89.9 A- 
      3       3.3        84      86.9 B+ 
      4         3        81      83.9 B(良) 
      5       2.7        78      80.9 B- 
      6       2.3        75      77.9 C+ 
      7         2        72      74.9 C(中) 
      8       1.7        69      71.9 C- 
      9       1.3        66      68.9 D+ 
     10         1        60      65.9 D 
     12         0         0      59.9 F(不及格)     如何用sql语句生成如下的形式呢?  
    系别  学号  性别 专业  培养层次  必修课总学分  限选课总学分  任选课总学分(通识、复合) 任选课总学分(教育类) 重修课程门次 重修课程总学分  平均学分绩点  注:任选课(通识、复合)课程名里都有“复合”二字  ,任选课(教育类)课程号前面是"JY"  
       平均绩点计算方式为:每门课程绩点*学分/总学分  任选,限选,必修是在课程属性字段里
       
      

  3.   

    谢谢楼上几位,我现将个表结构重新贴出来,原来遗漏了一些,不好意思:
    成绩表(CJB)结构列名                          可空值否   类型               备注
    ------------------------------- -------- ----
    KCH                             NOT NULL VARCHAR2(10)       课程号
    KCM                                      VARCHAR2(50)       课程名
    KXH                                      NUMBER(4)          课序号
    XH                              NOT NULL VARCHAR2(12)       学号
    XNXQ                                     VARCHAR2(11)       学年学期
    XF                                       NUMBER(5,1)        学分
    XS                                       NUMBER(4,1)        学时数
    KCSX                                     VARCHAR2(4)        课程属性(必修,限选,任选)
    KSCJ                                     NUMBER(5,1)        考试成绩
    ...学籍表(XJB)结构:列名                          可空值否   类型            备注
    ------------------------------- -------- ----
    XH                              NOT NULL VARCHAR2(12)    学号
    XM                              NOT NULL VARCHAR2(40)    姓名
    XB                                       VARCHAR2(2)     性别
    XSH                                      VARCHAR2(5)     系所号
    ZYH                                      VARCHAR2(8)     专业号
    ZYFX                                     VARCHAR2(30)    专业方向(专业名)
    BM                                       VARCHAR2(10)    班级名称
    RXNJ                                     VARCHAR2(4)     入学年级
    SSNJ                                     VARCHAR2(4)     所属年级
    PYFS                                     VARCHAR2(20)    培养方式(层次)
    CXBKBZ                                   VARCHAR2(4)     成绩补考备注(补考,重修,辅修)
    ...系所表(XSB)结构:列名                          可空值否   类型             备注
    ------------------------------- -------- ----
    XSH                             NOT NULL VARCHAR2(5)      系所号
    XSM                                      VARCHAR2(30)     系所名称学分绩点转化表(XFJ)结构: 列名                          可空值否   类型
     ------------------------------- -------- ----
     JDH                             NOT NULL NUMBER(2)
     JDS                                      NUMBER(2,1)
     XXF                                      NUMBER(5,1)
     SXF                                      NUMBER(5,1)
     BZ                                       VARCHAR2(20)   
    以下是XFJ内的数据(各课程成绩通过这张表转换):JDH       JDS       XXF       SXF BZ 
    --- --------- --------- --------- -------------- 
      1         4        90       100 A(优) 
      2       3.7        87      89.9 A- 
      3       3.3        84      86.9 B+ 
      4         3        81      83.9 B(良) 
      5       2.7        78      80.9 B- 
      6       2.3        75      77.9 C+ 
      7         2        72      74.9 C(中) 
      8       1.7        69      71.9 C- 
      9       1.3        66      68.9 D+ 
     10         1        60      65.9 D 
     12         0         0      59.9 F(不及格)        如何用sql语句生成如下的形式呢? 
    系别  学号  性别 专业  培养层次  必修课学分  限选课学分  任选课学分(通识、复合) 任选课学分(教育类) 重修课程门次 重修课程学分  平均学分绩点 
    注:任选课(通识、复合)课程名里都有“复合”二字  ,任选课(教育类)课程号前面是"JY" 
       平均绩点计算方式为:每门课程绩点*学分/总学分 
    培养层次就是学籍表里培养方式字段里的值.解释:学分是根据教学计划制定出来的,每门课程的学分不一样,每门课程的绩点是根据成绩转化出来的,比如90-100是4,60以下没有绩点,就是这样.当然还有一张课程表,我觉得在这个例子里用不上,所以就没有给了