oracle中二维表的SQL

xwt0329 2009-11-25 03:18:51
碰到一个二维表,但是从来没有写过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

还有聚焦函数要怎么写?
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2009-11-25
  • 打赏
  • 举报
回复
上面每行少了一个右括号
select 姓名,
max(decode(课程编号,'C1',成绩))数据结构,
max(decode(课程编号,'C2',成绩))操作系统,
max(decode(课程编号,'C3',成绩))微积分
from table1
group by 姓名
小灰狼W 2009-11-25
  • 打赏
  • 举报
回复
行转列问题
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

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧