Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Obter lista de números entre duas colunas com chave


a solução a_horse_with_no_name-s seria
 SELECT distinct Key,(level + StartNum)-1 Num
   FROM Table1
  CONNECT BY (LEVEL +StartNum ) <= EndNum+1
  order by Key, Num

Resultado:
A   1                                     
A   2                                     
A   3                                     
B   6                                     
B   7                                     
B   8                                     

Mas eu prefiro criar uma tabela temporária global e preenchê-la a partir do plsql, pois o método acima contém decarts subsequentes na tabela (portanto, o distinto necessário).http://www.dba-oracle.com/t_temporary_tables_sql.htm