求记录范围的SQL 语句写法

kvyd 2004-12-04 12:01:14
表users结构

username 文本 //人名
fawencount 长整型 //发贴数


相关记录
username fawencount
张三 55
李四 182
王五 687
...



表userGrade结构
ugName 文本 //级别名
ugBox 长整型 //数量

相关记录
ugName ugBox
论坛村民 0
论坛村长 50
论坛乡长 100
论坛镇长 200
论坛县长 400
论坛市长 600
论坛省长 1000
论坛总统 1500
野猪超人 2500
太阳神 4000
论坛大坏蛋 6000


请教各位好兄弟,用什么样的语句能得到一个新表中的字段为ugname?
即:
张三的发贴数为55,则张三的级别为:论坛村长


谢谢大家

...全文
124 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
kvyd 2004-12-07
是的,见笑了,以后请多来访啊
回复
lienzhu 2004-12-04
忘了相等时
select *,ugname=(select top 1 ugname from userGrade where ugbox<=users.fawencount order by ugbox desc) from users
回复
xiaoyuehen 2004-12-04
select top 1 [ugName] from userGrade where ugBox >= 50 order by ugBox asc
回复
lienzhu 2004-12-04
select *,ugname=(select top 1 ugname from userGrade where ugbox<users.fawencount order by ugbox desc) from users
回复
cncca 2004-12-04
www.abis.com.cn是你的小站吗,现在就去看看!
回复
kvyd 2004-12-04
俺已经解决了,写个函数的,各位老兄有空到俺的小站去坐坐
回复
kvyd 2004-12-04
报odbc不支持,对了,我的数据库是ACCESS的
回复
kvyd 2004-12-04

<%
Dim qsql,qrs,qqstr,connd
Set qrs = Server.CreateObject("ADODB.RECORDSET")
connd="DBQ="+server.mappath("database889/bbsdata.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

qsql = "select *,ugname=(select top 1 ugname from userGrade where ugbox<=users.fawencount order by ugbox desc) from users"




qrs.Open qsql, connd, 1,1
Do while not qrs.eof
'response.write (qrs("usersName") )
response.write "---------"
response.write (qrs("ugName") )
response.write "<br>"
qrs.MoveNext
Loop
%>


那我这样写为啥老是报错呢,请指点
报错信息:

无法显示网页
您要访问的网页有问题,无法显示。

--------------------------------------------------------------------------------

请尝试以下操作:

打开 www.abis.com.cn 主页,然后查找指向您感兴趣信息的链接。
单击刷新按钮,或以后再试。

单击搜索,寻找 Internet 上的信息。
也可查看相关站点列表。




HTTP 500 - 内部服务器错误
Internet Explorer
回复
ahhisoft 2004-12-04
不一定非要用SQL语句呀
我觉得可以用数组罗列Ugname
查询username fawencount的时候根据fawencount的值在数据里取值好了.
回复
dh20156 2004-12-04
TRY:
SELECT c.*, d.ugName AS ugName
FROM (SELECT a.*, MAX(b.ugBox) AS ugBox
FROM users a INNER JOIN
userGrade b ON a.fawencount >= b.ugBox
GROUP BY a.username, a.fawencount)
c LEFT OUTER JOIN
userGrade d ON c.ugBox = d.ugBox
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-12-04 12:01
社区公告
暂无公告