六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

oracle 行转列 列转行(转)

[复制链接]

升级  47%

103

主题

103

主题

103

主题

举人

Rank: 3Rank: 3

积分
341
 楼主| 发表于 2013-1-14 08:42:26 | 显示全部楼层 |阅读模式
原文出自 : http://blog.sina.com.cn/s/blog_475839a50100s2q3.html
 
备用.
 
1.概述
行列转换包括以下六种情况:
1)列转行
2)行转列
3)多列转换成字符串
4)多行转换成字符串
5)字符串转换成多列
6)字符串转换成多行
下面分别进行举例介绍。
首先声明一点,有些例子需要如下10g及以后才有的知识:
A.掌握model子句
B.正则表达式
C.加强的层次查询
讨论的适用范围只包括8i,9i,10g及以后版本。

2.列转行
脚本文件如下:
CREATE TABLE t_col_row(ID INT,c1 VARCHAR2(10),c2 VARCHAR2(10),c3 VARCHAR2(10));INSERT INTO t_col_row VALUES (1, 'v11', 'v21', 'v31');INSERT INTO t_col_row VALUES (2, 'v12', 'v22', NULL);INSERT INTO t_col_row VALUES (3, 'v13', NULL, 'v33');INSERT INTO t_col_row VALUES (4, NULL, 'v24', 'v34');INSERT INTO t_col_row VALUES (5, 'v15', NULL, NULL);INSERT INTO t_col_row VALUES (6, NULL, NULL, 'v35');INSERT INTO t_col_row VALUES (7, NULL, NULL, NULL);COMMIT;SELECT * FROM t_col_row;2.1UNION ALL
适用范围:8i,9i,10g及以后版本
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表