sql >> Base de Datos >  >> RDS >> Oracle

Obtenga una lista de números entre dos columnas con clave

la solución a_horse_with_no_name-s sería

 SELECT distinct Key,(level + StartNum)-1 Num
   FROM Table1
  CONNECT BY (LEVEL +StartNum ) <= EndNum+1
  order by Key, Num

Salida:

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

Pero preferiría crear una tabla temporal global y completarla desde plsql, ya que el método anterior contiene descartes posteriores en la tabla (por lo tanto, se requiere la distinción).http://www.dba-oracle.com/t_temporary_tables_sql.htm