问题是这样:从课程和成绩表中挑出每一门课程的最高分和最低分,所使用的SQL语句如下:
select c.f_name,min(g.f_grade) as mi,max(g.f_grade) as ma
from t_course c,t_grade g
where g.f_courseid=c.f_id
group by c.f_name
结果截图是:
现在要求要把行和列转换一下,这样问题就来了。
我可以从这张表中先分别挑出最大值和最小值,然后用Union连接起来。SQL语句如下:
----行列转换
select * from (
(select
max(case when f_name='C++' then ma else 0 end ) as "C++",