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

sql语句不对,谁帮我看下啊,是不是asp里不能用这种连接方式啊,换成什么样的可以运行啊。
<!--#include   file= "conn.asp "   -->
<%
set   rs=server.createobject( "adodb.recordset ")
exec= "select   class.classid,avg(choice.score)   as   avgscore   from   choice,student,class   where   choice.sid=student.sid   and   student.classid=class.classid   and   class.grade= 'a '   group   by   class.classid "
rs.open   exec,conn,1,1
%>

------解决方案--------------------
楼主
按照你的描述,你的三个表可能有如下的结构:
choice表起码有 score和sid两个字段都是数值型
student表起码有 sid和classid两个字段都是数值型
class表起码有classid字段数值型以及grade字段文本型

按照这个结构我测试了一下,你那语句执行没问题的
------解决方案--------------------
各个表测试数据:
choice表

score sid
----------- -----------
70 1
80 2

class表

classid grade
----------- --------------------------------------------------
1 a
2 b
3 c

student表

sid classid
----------- -----------
1 1
2 1


最终执行结果:

classid avgscore
----------- -----------
1 75

(所影响的行数为 1 行)