不解问题,oracle拆分行。

[复制链接]
查看11 | 回复4 | 2012-5-16 11:07:37 | 显示全部楼层 |阅读模式
已知表t,有四个字段,A,Start,End,D,值如下,有两行记录:
列列 列 列
A Start EndD
usa 2 10 8
china 7 12 5

其中:列D是Start,End列的差值。
我要实现得到下面结果:
A Strart EndDE(新增列名)
usa2 10 82
usa2 10 83
usa2 10 84
usa2 10 85
usa2 10 86
usa2 10 87
usa2 10 88
usa2 10 89
usa2 10 810
china7 12 57
china7 12 58
china7 12 59
china7 12 510
china7 12 511
china7 12 512
补充说明下。这样更明白。
用oracle sql语句如何实现。

回复

使用道具 举报

千问 | 2012-5-16 11:07:37 | 显示全部楼层

WITH t AS
(SELECT rownum rn FROM dual CONNECT BY rownum= r_1
Order By a,b,c,r_1;
我自己试了下,这个,不过速度一般。
回复

使用道具 举报

千问 | 2012-5-16 11:07:37 | 显示全部楼层
Create Tabletest_num
(
A
VARCHAR2(10),

B
NUMBER
,

C
NUMBER

)
回复

使用道具 举报

千问 | 2012-5-16 11:07:37 | 显示全部楼层
Create Tabletest_num
(
AVARCHAR2(10),

BNUMBER,
CNUMBER

)
--============
A
B
C
usa
2
10
china
7
12
--============
select * from (select * from test_num,
(select rownum r_1 from dual
connect by rownum = r_1
Order By a,b,c,r_1;
--=========================
回复

使用道具 举报

千问 | 2012-5-16 11:07:37 | 显示全部楼层
高手啊!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行