日期:2014-05-18  浏览次数:20691 次

这样的视图如何提取???
一个在线考试系统的数据库,有个视图是这样设计的,请问如何实现
通过sql可以提取到如下的表

考生姓名   试卷名称   题目id     考生答案   标准答案    
  姓名1         名称1         Qid1           xxxx           xxxx
  姓名1         名称1         Qid2           xxxx           xxxx
  姓名1         名称2         Qid3           xxxx           xxxx
  姓名1         名称2         Qid4           xxxx           xxxx
  姓名1         名称3         Qid5           xxxx           xxxx
  姓名1         名称3         Qid6           xxxx           xxxx
  姓名2         名称1         Qid7           xxxx           xxxx
  姓名2         名称1         Qid8           xxxx           xxxx
  姓名2         名称2         Qid9           xxxx           xxxx
  姓名2         名称2         Qid10         xxxx           xxxx
  姓名2         名称3         Qid11         xxxx           xxxx
  姓名2         名称3         Qid12         xxxx           xxxx
          。。。。。。。

*其中xxxx为任意值,题目名称也可能更多

如何生成这样的视图:

考生名称       (试卷)名称1       (试卷)名称2       (试卷)名称3
    姓名1                 得分x                   得分x                 得分x
    姓名2                 得分x                   得分x                 得分x
        。。。。。。。

得分是通过一些简单的判断得出来的。

就这些分数了,全抛了!

------解决方案--------------------
create table T(考生姓名 varchar(10), 试卷名称 varchar(10), 题目id varchar(10) , 考生答案 varchar(10) , 标准答案 varchar(10))
insert T select '姓名1 ', '名称1 ', 'Qid1 ', 'xxxx ', 'xxxx '
union all select '姓名1 ', '名称1 ', 'Qid2 ', 'xxxx ', 'xxxx '
union all select '姓名1 ', '名称2 ', 'Qid3 ', 'xxxx ', 'xxxx '
union all select '姓名1 ', '名称2 ', 'Qid4 ', 'xxxx ', 'xxxx '
union all select '姓名1 ', '名称3 ', 'Qid5 ', 'xxxx ', 'xxxx '
union all select '姓名1 ', '名称3 ', 'Qid6 '