sql语句如何写入ASP语句中? 150

我想用ASP+SQL写个关于连续号码断点盘存的页面,但总通不过,请指点:IDPZLBPZHM1AA10012AA10033AA10044AA10075AA10086BB1... 我想用ASP+SQL写个关于连续号码断点盘存的页面,但总通不过,请指点:

ID PZLB PZHM
1 AA 1001
2 AA 1003
3 AA 1004
4 AA 1007
5 AA 1008
6 BB 1010

想显示结果为:
PZLB Start_HM End_HM
AA 1001 1001
AA 1003 1004
AA 1007 1008
BB 1010 1010

可在ASP中如下句子通不过
set rs=server.createobject("adodb.recordset")
sql="SELECT b.PZLB, MIN (b.PZHM) Start_HM, MAX (b.PZHM) End_HM"&_
"FROM (SELECT a.*, TO_NUMBER (a.PZHM - ROWNUM) cc"&_
"FROM (SELECT *"&_
"FROM GNH"&_
"ORDER BY PZLB, PZHM) a) b"&_
"GROUP BY b.PZLB, b.cc"
rs.open sql,conn,1,1
展开
 我来答
阳光上的桥
2009-03-28 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65801
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你这样的结果希望一个SQL实现可能不现实,例如数据是有AA 1001~AA 1100的连续100个又怎么处理?

如果所有数据都象你列举的那样,最多有两个连续的,那就可以用一个SQL来实现。

所以,我认为,你应该用程序来实现归并,SQL只是一个全扫描即可:
sql="SELECT PZLIB,PZHM FROM GNH ORDER BY PZLIB,PZHM"

程序这样循环:
preLB=""
preHM=0
line="PZLB Start_HM End_HM"
while not rd.eof()
if rs("PZLB")<>preLB then'判断是否新的代码
if preHM<>0 then line=line&" "&preHM
response.write line&"<BR>"
preLB=rs("PZLB")
preHM=rs("PZHM")
line=preLB&" "&preHM
else'同一个代码要判断是否连号
if rs("PZHM")=preHM+1 then'连号的只修改上一个号码,无需其它处理
preHM=preHM+1
else'不连号就要输出以前的内容
line=line&" "&preHM
response.write line&"<BR>"
preHM=rs("PZHM")
line=preLB&" "&preHM
end if
end if
rs.movenext()
loop

由于没有环境,上面的代码我无法调试,希望你能够看明白,有不妥的地方希望你完善。
dyxg041
2009-03-28 · TA获得超过1035个赞
知道小有建树答主
回答量:1067
采纳率:0%
帮助的人:960万
展开全部
我只知道&_ 写法有错误,其它的就不知道了
& 前面和后面都应该要空格的 & _
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式