oracle 查询 将一条变多条

Posted

tags:

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

表里有这样一条记录

山东 0.8 全部 7
---------------------------------------------- 怎么变成下面

山东 0.8 全部 7
山东 0.8 全部 7
山东 0.8 全部 7
山东 0.8 全部 7
山东 0.8 全部 7
山东 0.8 全部 7
山东 0.8 全部 7
---------------------------------------------------
下面7条记录都是根据第一条的那个7循环的。也就是说7那个字段不管整数是多少,下面就会有多少记录。
如果是8下面就会有八条记录。是9就会有9条记录。 我是做查询不是想做新增。就是想把本来是一条结果集的记录,查询一下变成多条。

参考技术A 多条变一条用聚合函数吧,也就是分组了,
也可以用分析函数。
如果是重复数据的话用 distinct 就可以了。追问

能不能给我一个示列看一下

参考技术B select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
union all
select '山东',0.8,'全部',7 from dual;
这样写试一下,看看是否好用。
参考技术C 用union all 呗
select * From table1
union all
select * From table1
union all
select * From table1
.......
不知道符合不符合你的要求追问

但是结果集想变成多少条记录是根据字段里面的值来确定的,值是多少条,结果集就多少条

追答

那么既然是循环,就得有判断,既然有判断就得写代码,单用sql应该是实现不了的

追问

能不能写成一个视图,我在前面弄也挺麻烦

追答

视图肯定不行啊,视图其实就是sql语句,也是死的

本回答被提问者和网友采纳
参考技术D 写程序吧,单条SQL应该做不出这个效果追问

能不能写个视图或者其他什么。可以做吗

第5个回答  2014-09-11 这是一个变态的需求,一条SQl语句做不到

以上是关于oracle 查询 将一条变多条的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

oracle 如何返回多条记录

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

在oracle里,多条返回结果,如何只能返回一条