如何在oracle中计算范围

fil*_*ppo 6 sql oracle range

我有一个表定义范围的表,例如:

START | END | MAP
1     | 10  | A
11    | 15  | B
...
Run Code Online (Sandbox Code Playgroud)

我如何查询该表,以便结果

ID | MAP
1  | A
2  | A
3  | A
4  | A
5  | A
6  | A
7  | A
8  | A
9  | A
10 | A
11 | B
12 | B
13 | B
14 | B
15 | B
...
Run Code Online (Sandbox Code Playgroud)

我打赌它很容易...感谢您的帮助

F.

Mic*_*sov 7

 select * from Table, (Select Level as Id from dual connect by Level <= (Select Max(End)      from Table)) t
 Where  t.Id between rr.Start and rr.End
 Order by Map, Start, Id
Run Code Online (Sandbox Code Playgroud)