当前位置: 代码迷 >> Sql Server >> 求一条嵌套查询,随机查询的SQL话语!
  详细解决方案

求一条嵌套查询,随机查询的SQL话语!

热度:59   发布时间:2016-04-24 23:27:07.0
求一条嵌套查询,随机查询的SQL语句!!!!!!
现在有三张表:题库表,试卷表,答题表
题库表记录有正确答案
试卷表记录每题在题库中的编号
答题表记录学生的答案
想要从答题表中随机选一张没有批改过的试卷,通过相同试卷号在试卷表中找到相应题号,再从题库中找到答案。自己写了个嵌套查询,除了随机选择都能实现了,但是随机搞不好,原来想用order by newId()的,但出错,
消息 1033,级别 15,状态 1,第 1 行
除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。

这个是我写的:
SELECT OptAnswer
FROM OptTiku 
WHERE OptTikuNum = 
    (SELECT Opt1 
     FROM Paper
     WHERE PaperNum=
          (SELECT PaperNum 
           FROM AnsPaper 
           WHERE IsNotCorrect=0 ))
sql 随机

------解决方案--------------------
SELECT OptAnswer
FROM OptTiku 
WHERE OptTikuNum = 
    (SELECT Opt1 
     FROM Paper
     WHERE PaperNum=
          (SELECT top 1 PaperNum 
           FROM AnsPaper 
           order by newid() ))

  相关解决方案