求记录范围的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,则张三的级别为:论坛村长


谢谢大家

...全文
146 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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