欢 迎 光 临 数据载入中,请稍候......'s BLog
数据载入中,请稍候......
这就是我
数据载入中,请稍候......
用户登陆
数据载入中,请稍候......
最新公告
数据载入中,请稍候......
站点日历
数据载入中,请稍候......
最新日志
数据载入中,请稍候......
最新回复
数据载入中,请稍候......
最新留言
数据载入中,请稍候......
 日志搜索

友情链接
其他信息


·修改点房网的点房指数问题     -|cloudy 发表于 2006-6-26 15:22:19

点房网的点房指数有点问题,同一个楼盘后面的备注不一样的时候,因为显示的只是楼盘名称,这样就变得有重复的楼盘名称出现了,老板要求改正这一点。

其实就这一点来说,自己是早有发现的,也有办法可以解决,只是由于各种因素的影响,一直没有去处理,今天得好好想想去改一改了。

原来只是简单使用group by排除重复的housename值。
现在看来不行,要先判断housename中含有“(”,即有备注的,要先去掉备注
然后再进行group by

思路是先在where子句中用instr函数判断是否含有“(”,含有的,使用left函数取其前面的楼盘名称;不含有的,直接取楼盘名称。

但是这样就产生了两个select语句,只好使用union进行联合查询,这也没有什么问题。
两个select语句都先用group by过虑一下重复的值,使用union联合的时候会自动再过滤重复值(ps:union all就不会过滤重复值)

修改过程中还发现,在access中能正常使用instr([housename],'(')函数,但是MSSQL却不支持,还好有CHARINDEX('(',[housename])可以代替。

sql语句编好了,用ASP连接rs.open sql,conn,1,1
无论open后的参数如何换,rs.recordcount总是等于-1


最后还要在open语句前加上这一句才搞定了.

rs.CursorLocation = 3

但还是不明白为什么?
[阅读全文 | 回复(0) | 引用通告 | 编辑]

  • 标签:asp 
  • 发表评论:
    数据载入中,请稍候......