我找不出语句的错误!

doudouli678 2009-06-03 10:48:46
麻烦高手老师解答我的问题
<% xn=trim(request.form("xn"))
xq=trim(request.form("xq"))
bj=trim(request.form("bj"))
km=trim(request.form("km"))
Set conn=Server.CreateObject("ADODB.Connection")
Set Rs=Server.CreateObject("ADODB.Recordset")
conn.open"DSN=myconn;UID=sa;PWD=asp123"
sql="select count(*),SUM(cj),AVG(cj),MAX(cj),MIN(cj),"
sql=sql & "sum(iif(cj>=90,1,0)),"
sql=sql & "sum(iif(cj>=80 and cj <=89,1,0)),"
sql=sql & "sum(iif(cj>=70 and cj<=79,1,0)),"
sql=sql & "sum(iif(cj>=60 and cj<=69,1,0)),"
sql=sql & "sum(iif(cj<60,1,0)),"
sql=sql & "sum(iif(cj>=60,1,0))"
sql=sql & " from stu_score"
sql=sql & " where xn='"&xn&"' and xq='"&xq&"' and bj='"&bj&"'"
sql=sql & " and km='"&km&"'"
rs.open sql,conn,3,1
%>

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '>' 附近有语法错误。
/total2.asp, 第 20 行
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
doudouli678 2009-06-03
  • 打赏
  • 举报
回复
同时也谢谢4楼高手,下次给你分
doudouli678 2009-06-03
  • 打赏
  • 举报
回复
非常感谢!接分了
lg3605119 2009-06-03
  • 打赏
  • 举报
回复

sum(iif(cj>=80 and cj <=89,1,0))

改成

sum(case when cj>80 and cj<=89 then 1 else 0 end)


别的照着修改就行
子陌红尘 2009-06-03
  • 打赏
  • 举报
回复
for example:
sum(iif(cj>=90,1,0))  ==>  sum(case when cj>=90 then 1 else 0 end)
doudouli678 2009-06-03
  • 打赏
  • 举报
回复
谢谢,说得具体点
子陌红尘 2009-06-03
  • 打赏
  • 举报
回复
ACCESS?SQL Server不支持IIF()函数,改成用CASE WHEN的模式再试。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧