7.有一个表,三个字段语文、数学和英语,有三个记录为语文86,数学65,英语55
用一个sql语句查询并按照下列方式显示:
>=80优秀 >=60及格 <60不及格
语文 数学 英语
优秀 及格 不及格
用一个sql语句查询并按照下列方式显示:
>=80优秀 >=60及格 <60不及格
语文 数学 英语
优秀 及格 不及格
解决方案 »
- 我在整合JPA和Spring时老出现Unable to build EntityMangerFactory的问题
- j2ee的学习
- 关于fckeditor的问题,很简单的问题 大家帮帮我
- 回帖N多,接续求解
- AOP技术 实现日志功能的问题
- 则ValidatorForm检查返回页面的问题
- 来者有分!关于struts构架的网站里每个页面的状态验证问题!
- 关于web services服务端的问题
- 用struts,采用MVC模式,对数据查询显示的页面中我想加入checkbox来控制删除功能?
- 布署EJB出现问题:::::::::::起初还好好的!!!!!!!
- 这样读写文件为什么文件总是会比原来的小?头疼。。。
- smslib 开源项目 中文文档
from dual
union
select
CASE
WHEN t.yuwen >= 80 THEN '优秀'
WHEN t.yuwen between 60 and 79 THEN '及格'
WHEN t.yuwen < 60 THEN '不及格'
ELSE '非法数据',
CASE
WHEN t.shuxue >= 80 THEN '优秀'
WHEN t.shuxue between 60 and 79 THEN '及格'
WHEN t.shuxue < 60 THEN '不及格'
ELSE '非法数据',
CASE
WHEN t.yingyu >= 80 THEN '优秀'
WHEN t.yingyu between 60 and 79 THEN '及格'
WHEN t.yingyu < 60 THEN '不及格'
ELSE '非法数据'
from xxxtable
select x.chines, x.math,x.english from ( select '优秀' chines ,'及格' math,'不及格' english from score where chinese>=80 and math >=60 and english <60) x;
题目本身都有点问题,如果我把这个SQL写出来了,估计他们会晕掉。
写的有点问题,改了一下select '语文', '数学', '英语'
from dual
union
select
CASE
WHEN t.yuwen >= 80 THEN '优秀'
WHEN t.yuwen between 60 and 79 THEN '及格'
WHEN t.yuwen < 60 THEN '不及格'
ELSE '非法数据'
end,
CASE
WHEN t.shuxue >= 80 THEN '优秀'
WHEN t.shuxue between 60 and 79 THEN '及格'
WHEN t.shuxue < 60 THEN '不及格'
ELSE '非法数据'
end,
CASE
WHEN t.yingyu >= 80 THEN '优秀'
WHEN t.yingyu between 60 and 79 THEN '及格'
WHEN t.yingyu < 60 THEN '不及格'
ELSE '非法数据'
end
from xxxtable
语文 数学 英语
86 65 55
66 73 83
...
条件:
>=80优秀 >=60及格 <60不及格
要求结果:
语文 数学 英语
优秀 及格 不及格
...
SQL语句:
create or replace function ff(p_res number)
return varchar2
is
v_sal varchar(8);
begin
v_sal := case
when p_res>=80 then '优秀'
when p_res<60 then '不及格'
else '及格'
end;
return v_sal;
end;select ff(yuwen) 语文,ff(shuxue) 数学,ff(yingyu) 英语 from xxx t;
典型的中国式报表。
select (case when yuwen > 80 then '优秀' when yuwen > 60 then '及格' else '不及格' end) as '语文',
(case when shuxue > 80 then '优秀' when shuxue > 60 then '及格' else '不及格' end) as '数学',
(case when yingyu > 80 then '优秀' when yingyu > 60 then '及格' else '不及格' end) as '英语'
from yourtable
select (case when chinese>= 80 then '优秀' when chinese<60 then '不及格'else '及格' end) as '语文' ,
(case when english>= 80 then '优秀' when english<60 then '不及格'else '及格' end) as '英语',
(case when shuxue>= 80 then '优秀' when shuxue<60 then '不及格'else '及格' end) as '数学'from test绝对运行成功至于所有楼上的均未运行成功,报错。