group by的问题
数据库id periods(期数) state
1 2012年1月1期 已购买
2 2012年1月1期 已提交
3 2012年1月2期 已购买
4 2012年1月2期 null
5 2012年1月3期 已购买
想实现的功能是只显示不重复的期数,然后根据期数修改状态是“已购买”的state
以下代码是主要实现功能的
fh.asp
<form name="form1" method="post" action="fh_update.asp">
sql="select periods from t_book where state='已提交' group by periods order by periods desc"
sql2="select state from t_book "
set rs=Server.CreateObject("ADODB.RecordSet")
set rs2=Server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
rs2.open sql2,conn,1,3
<td><%=rs("periods")%></td>
<td><input type="checkbox" name="cid" value="<%=rs("periods")%>">
<td><input type="submit" name=ok value="发货" > </td>
<td "><%=rs2("periods")%></td>
</form>
fh_update.asp
<!--#include file="conn.asp"-->
<%
cids = request.Form("cid")
set rs=Server.CreateObject("ADODB.RecordSet")
sql = "update t_book SET state=‘已发货’ WHERE state=‘已提交’ and periods IN(" & cids & ")"
rs.open sql,conn,3,3
conn.Execute sql
conn.close
Set conn = Nothing
Response.Write "<center>发货成功<br><br><br>"
Response.Write "<a href = fh.asp>返回</a>"
%>
出错
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: '年1月3期' 附近有语法错误。
/shopnew/fh_update.asp,行 6
问题是怎么实现根据状态是按“已购买”来修改。。。用group by 和是distinct好呢?