1

Oracle PS SQL のネストされたループ:

Table 1

key_col start_year End_year
1000    2008       2010
1002    2009       2012

値ごとに、とr をkey_colループして行を挿入します。たとえば、次をターゲット テーブルに挿入したいstart_yearend_yeakey_colkey_col = 1000

key_col year
1000    2008
1000    2009
1000    2010

PL SQLでこれを行うにはどうすればよいですか?

4

3 に答える 3

0
select key_col, start_year+rn as year 
from table1,
(select level-1 as rn from dual connect by level<100) a
 where rn <= end_year - start_year
 order by 1,2

結果

KEY_COL     YEAR
1000        2008
1000        2009
1000        2010
1002        2009
1002        2010
1002        2011
1002        2012
于 2013-09-10T11:26:29.427 に答える