求sql

[复制链接]
查看11 | 回复3 | 2012-9-28 17:34:42 | 显示全部楼层 |阅读模式
各位大侠
有这样一张单据表 ,每一行记录的是一份单据的张数、单据的起止编号,每张单据都是有唯一的编号,而且每份单据的起止编号都是连续的,
每一份单据张数都是不一样的。需要把每一张单据转换一行记录
a字段为序号,b字段为单据张数, c字段为单据起号,d字段为单据止号
createtable test
( a varchar2(6),
b number,
c number,
d number
)
insert into('01',5,100,104);
insert into('02',3,110,112);
insert into('03',1,120,120);

要得到这样的记录
a bc
01 5 100
01 5 101
01 5 102
01 5 103
01 5 104
02 3 110
02 3 111
02 3 112
03 1 120
求sql或方法(业务库中该表数据量庞大)

回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
http://www.itpub.net/thread-719692-1-1.html
研究去吧
回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
http://www.itpub.net/thread-1399606-1-1.html

回复

使用道具 举报

千问 | 2012-9-28 17:34:42 | 显示全部楼层
select a,b,c+level c
from test
connect by level <= b and prior a = a AND prior SYS_GUID() is not null
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行