日期:2014-05-17  浏览次数:20425 次

嵌套查询,随机
现在有三张表:题库表,试卷表,答题表
 题库表记录有正确答案
 试卷表记录每题在题库中的编号
 答题表记录学生的答案
 想要从答题表中随机选一张没有批改过的试卷,通过相同试卷号在试卷表中找到相应题号,再从题库中找到答案。自己写了个嵌套查询,查出了题库中的正确答案,但怎么查出原来答题表中学生的答案并比较呢;select count(*)不知道可不可以!但之前是随机的,是不是还要定义变量记录下来什么的,不太懂!
下面是查询出正确答案的:
SELECT OptAnswer
FROM OptTiku 
WHERE OptTikuNum = 
    (SELECT Opt1 
     FROM Paper
     WHERE PaperNum =
          (SELECT TOP 1 PaperNum
           FROM AnsPaper 
           WHERE IsNotCorrect=0 ORDER BY newid() ))
还缺AnsPaper表中Opt1列中的值与其作比较》》
sql?嵌套查询?随机

------解决方案--------------------
还缺AnsPaper表中Opt1列中的值与其作比较》》
--------这样?
SELECT TOP 1 OptAnswer
FROM OptTiku AS a
WHERE EXISTS(SELECT 1 FROM Paper AS b WHERE b.Opt1=a.OptTikuNum AND EXISTS(SELECT 1 FROM AnsPaper WHERE PaperNum=b.PaperNum AND Opt1=a.OptAnswer))
ORDER BY NEWID()