A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 聂广强 中级黑马   /  2013-7-12 14:57  /  1631 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 聂广强 于 2013-7-25 14:59 编辑

现有积分表『levelName varchar(50),NeedPoints int』写一条sql语句 求出该会员所属的等级名, 某会员有×积分, 积分的等级表数据为:
等级一 100


等级二 200
等级三 300
这个题只有一张表 哪个sql语句如何写才能实现呢?

评分

参与人数 1技术分 +1 收起 理由
zhangcheng5468 + 1 抱歉,帖子沉的太久了!

查看全部评分

10 个回复

倒序浏览
应该还有一张会员积分表才靠谱吧~~~
回复 使用道具 举报
wedge 发表于 2013-7-12 15:04
应该还有一张会员积分表才靠谱吧~~~

只有这一张表  这个是我面试题中最坑的一道 完全没有思路
回复 使用道具 举报
某会员积分为x?
回复 使用道具 举报
select levelName from 积分表 where NeedPoints<=x and NeedPoints>x-100;

这样靠谱吗?比如101分就是等级1了~~~大于等于等级分并且小于等级分+100
回复 使用道具 举报
select levelName from 积分表 where NeedPoints<=x and NeedPoints>x-100;

这样靠谱吗?比如101分就是等级1了~~~大于等于等级分并且小于等级分+100
回复 使用道具 举报
wedge 发表于 2013-7-12 15:30
某会员积分为x?

会员积分不确定
回复 使用道具 举报
用case进行判断
回复 使用道具 举报
楼上正解,考察的是Case语句
回复 使用道具 举报
1.数据库建表

2.造些数据

3.sql
SELECT  levelName ,
        CASE WHEN NeedPoints < 100 THEN N'等级一'
             WHEN NeedPoints >= 100
                  AND NeedPoints < 200 THEN N'等级二'
             ELSE N'等级三'
        END '等级'
FROM    dbo.level



回复 使用道具 举报
declare @x int
set @x=150
SELECT  
        CASE WHEN @a <100 then '新手'
        WHEN @a >=100 AND @a < 200 THEN '等级一'
             WHEN @a >= 200
                  AND @a < 300 THEN '等级二'
             ELSE '等级三'
        END
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马