读书人

这个查询如何搞求指导多谢

发布时间: 2013-11-12 12:10:37 作者: rapoo

这个查询怎么搞,求指导,谢谢
create table Greade(
gid number,
chinese number not null,
match number not null,
english number not null,
primary key (gid)
)
insert into Greade values (1,'45',96,'67');
insert into Greade values (2,'22',76,'45');
insert into Greade values (3,'76',36,'55');

查询的结果要变成 分数小于60 的为不及格 ,大于60 小于80的 为及格,大于等于80的为优秀
例如
gid chinese match english
1 不及格 优秀 及格


求指导,谢谢! sql
[解决办法]


select gid,
CASE
WHEN chinese < 60 THEN
'不及格'
WHEN chinese < 80 THEN
'及格'
ELSE
'优秀'
END as chinese,
CASE
WHEN match < 60 THEN
'不及格'
WHEN match < 80 THEN
'及格'
ELSE
'优秀'
END as match,
CASE
WHEN english < 60 THEN
'不及格'
WHEN english < 80 THEN
'及格'
ELSE
'优秀'
END as english
from Greade;

[解决办法]
SELECT greade.*,Decode(Sign(greade.english-80),0,'秀',1,'秀',Decode(Sign(greade.english-60),1,'及格',0,'及格','不及格')) FROM greade;
[解决办法]
引用:

select gid,
CASE
WHEN chinese < 60 THEN
'不及格'
WHEN chinese < 80 THEN
'及格'
ELSE
'优秀'
END as chinese,
CASE
WHEN match < 60 THEN
'不及格'
WHEN match < 80 THEN
'及格'
ELSE
'优秀'
END as match,
CASE
WHEN english < 60 THEN
'不及格'
WHEN english < 80 THEN
'及格'
ELSE
'优秀'
END as english
from Greade;
正确 给他70%我要20% 其它平分吧 结贴!

读书人网 >J2EE开发

热点推荐