有如下字段
最高分 最低分 等级
100 90 优
90 60 合格
60 0 不合格
90<=得分<100 为优。
60<=得分<90 合格.
0<= 得分<60 不合格。现在有一个分数 75 。要求去查等级。。
这个SQL怎么写?合格标准不定.可能是60 也有可能70 这个看数据库里面的值了.
最高分 最低分 等级
100 90 优
90 60 合格
60 0 不合格
90<=得分<100 为优。
60<=得分<90 合格.
0<= 得分<60 不合格。现在有一个分数 75 。要求去查等级。。
这个SQL怎么写?合格标准不定.可能是60 也有可能70 这个看数据库里面的值了.
insert @a select 100 ,90 ,'优'
union all select 90 ,60 ,'合格'
union all select 60 ,0 ,'不合格'
declare @得分 int
set @得分=75select 等级 from @a where @得分>=最低分 and @得分<最高分
/*
等级
--------------------
合格(所影响的行数为 1 行)
*/
INSERT INTO #T
SELECT 100 ,90 ,'优' UNION ALL
SELECT 90 ,60 ,'合格' UNION ALL
SELECT 60 ,0 ,'不合格'DECLARE @i int
SET @i=75
SELECT 等级 FROM #T WHERE @i BETWEEN 最低分 AND 最高分
DROP TABLE #T
INSERT INTO #T
SELECT 100 ,90 ,'优' UNION ALL
SELECT 90 ,60 ,'合格' UNION ALL
SELECT 60 ,0 ,'不合格'DECLARE @i int
SET @i=75
SELECT 等级 FROM #T WHERE @i >= 最低分 AND @i<最高分
DROP TABLE #T
as
begin
declare @s varchar(10)
if @score>=90 and @score <=100
set @s='優'else
if @score >=60 and @score<=89
set @s='合格'
else
set @s='不合格'
select @s
end
exec kkk 80----------
合格(1 row(s) affected)