oracle中如何将一条记录拆分为多条记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中如何将一条记录拆分为多条记录相关的知识,希望对你有一定的参考价值。

例:原数据为
A 1 2 3
B 1 2 3

想得到:
A 1
A 2
A 3
B 1
B 2
B 3
数据量比较多。。。

例如表名为test,数据如下

原数据为

col1  col2   col3   col4
A       1        2        3
B       1        2        3

然后用如下语句

select * from
(select col1,col2 from test
union all
select col1,col3 from test
union all
select col1,col4 from test) as t
order by col1

得到的数据就是

A  1
A  2
A  3
B  1
B  2
B  3

参考技术A 答案:女人是用耳朵恋爱的,而男人如果会产生爱情的话,却是用眼睛来恋爱。本回答被提问者采纳 参考技术B 能做批量处理的,禁止用游标.太消耗资源和时间 参考技术C select t.* from(
select a,n1 as c1 from tbl
union all
select a,n2 as c1 from tbl
union all
select a,n3 as c1 from tbl
) t
order by t.a;
参考技术D 这个写个存储过程会更容易解决

oracle根据某个字段拆分成多条数据

参考技术A 记一次ORACLE根据某个字段分割,将一条数据拆分成多条

未拆分前的数据:

拆分后的数据:

以上是关于oracle中如何将一条记录拆分为多条记录的主要内容,如果未能解决你的问题,请参考以下文章

Oracle通过一个字段的值将一条记录拆分为多条记录

oracle 查询 将一条变多条

如何使用 , 和 : Oracle 中的分隔符将 CLOB 对象拆分为多条记录

oracle 如何返回多条记录

如何将oracle 中一条数据拆分成多条

Oracle如何从一条记录返回多条记录