行转列,一维转多维 居家必备 MAX(CASE WHEN THEN ELSE END) AS 成绩1
MAX(CASE WHEN THEN ELSE END) AS 成绩2 ------其他解决方案-------------------- select c.姓名,c.课程号,c.成绩
from
(
select a.姓名,b.课程号,b.成绩,row_number() over (partition by a.姓名 order by a.姓名,b.课程号) nm
from a,b
where a.学号=b.学号
) c
where nm=1 ------其他解决方案-------------------- 如果使用sql*plus
break on 姓名
select a.姓名,b.课程号,b.成绩
from A,B
where a.学号 = b.学号
order by 姓名;
使用其他工具的话,我就不清楚了 ------其他解决方案-------------------- select distinct a.姓名,b.课程号,b.成绩
from A,B
where a.学号 = b.学号 ------其他解决方案--------------------