行转列

来源:互联网 发布:南方大数据100指数基金 编辑:程序博客网 时间:2024/09/21 09:04

sql,行转列

 

ROW2COLUMN2有以下数据:

名字 程 分数

1 80
2
三 数学
86
3
三 英
75
4
李四
78
5
李四 数学
85
6
李四 英 78

成下面记录

名字 文 数学 英

1 李四 78 85 78
2
80 86 75

 

SELECT NAME_,
       MAX(DECODE(CLASS, '
', T.SCORE, 0))
,
       MAX(DECODE(CLASS, '
数学', T.SCORE, 0)) 数学
,
       MAX(DECODE(CLASS, '
', T.SCORE, 0))
FROM ROW2COLUMN2 T
GROUP BY NAME_;

 

说明:decode函数比表达式和搜索字,如果匹配,返回果;如果不匹配,返回default;如果未定default返回空

 

原创粉丝点击