碰到一个二维表,但是从来没有写过SQL,请高手指点下
姓名 课程编号 课程 成绩
S1 C1 数据结构 91
S1 C2 操作系统 81
S1 C3 微积分 71
S2 C1 数据结构 92
S2 C2 操作系统 82
S2 C3 微积分 72
S3 C1 数据结构 93
S3 C2 操作系统 83
S3 C3 微积分 73
要转置得到如下二维表:
姓名 数据结构 操作系统 微积分
S1 91 81 71
S2 92 82 72
S3 93 83 73还有聚焦函数要怎么写?
姓名 课程编号 课程 成绩
S1 C1 数据结构 91
S1 C2 操作系统 81
S1 C3 微积分 71
S2 C1 数据结构 92
S2 C2 操作系统 82
S2 C3 微积分 72
S3 C1 数据结构 93
S3 C2 操作系统 83
S3 C3 微积分 73
要转置得到如下二维表:
姓名 数据结构 操作系统 微积分
S1 91 81 71
S2 92 82 72
S3 93 83 73还有聚焦函数要怎么写?
select 姓名,
max(decode(课程编号,'C1',成绩)数据结构,
max(decode(课程编号,'C2',成绩)操作系统,
max(decode(课程编号,'C3',成绩)微积分
from table1
group by 姓名如果需要动态,参照
http://topic.csdn.net/u/20091019/11/67cd55a3-3f42-4db7-a3f8-91dd52a913cd.html
select 姓名,
max(decode(课程编号,'C1',成绩))数据结构,
max(decode(课程编号,'C2',成绩))操作系统,
max(decode(课程编号,'C3',成绩))微积分
from table1
group by 姓名