怪异的sql,高手请进
select name,count, lever
case count
when 0 then '实习生'
when 100 then '高手'
ELSE '没有级别'
end
from table1
case只能实现count(积分)具体为多少,则lever(级别)是什么,
我需要判断当count在0~10时的情况可以判断lever为实习生,count在10~100时,lever为高手。
问题点数:20、回复次数:10Top
1 楼freeheart1977(逍遥的心)回复于 2004-12-01 20:41:25 得分 4
CASE
WHEN count>0 and count<10 THEN '....'
....
ELSE ....
END,
Top
2 楼yingqing(曾明)回复于 2004-12-01 20:54:27 得分 4
同上Top
3 楼goregrypeck(派克)回复于 2004-12-01 22:19:27 得分 4
select name,
case count
when >0 and <10 then '实习生'
when >10 and <100 then '高手'
else '没有级别'
end
as '级别'
from table1
Top
4 楼Yang_(扬帆破浪)回复于 2004-12-01 23:00:52 得分 5
select name,count, lever
case
when count>100 then '高手'
when count>0 and then '实习生'
ELSE '没有级别'
end
from table1
Top
5 楼Yang_(扬帆破浪)回复于 2004-12-01 23:01:10 得分 0
select name,count, lever
case
when count>100 then '高手'
when count>0 then '实习生'
ELSE '没有级别'
end
from table1
Top
6 楼Yang_(扬帆破浪)回复于 2004-12-01 23:03:17 得分 0
select name,count,
case
when [count]>0 and [count]<=10 then '实习生'
when [count]>10 and [count]<=100 then '高手'
ELSE '没有级别'
end as lever
from table1
Top
7 楼vinsonshen(为了明天)回复于 2004-12-01 23:26:34 得分 3
select [name],[count], lever= case
when [count] between 0 and 10 then '实习生'
when [count] between 11 and 100 then '高手'
ELSE '没有级别'
end
from table1Top
8 楼lyvictor(匆匆)回复于 2004-12-02 08:52:47 得分 0
不知大家是否有测试,我测试报错
when 后面根本不能加判断语句
---
服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: '>' 附近有语法错误。
Top
9 楼lyvictor(匆匆)回复于 2004-12-02 08:56:37 得分 0
晕,自己搞错语法而已,查了帮助,仔细分析才知:
---
When_expression 是任意有效的 SQL Server 表达式。Top
10 楼pennyclz(一分钱)回复于 2004-12-02 08:58:13 得分 0
upTop




