Oracle
 sql >> Database >  >> RDS >> Oracle

Ottieni un elenco di numeri tra due colonne con chiave

la soluzione a_horse_with_no_name-s sarebbe

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

Uscita:

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

Ma preferirei creare una tabella temporanea globale e popolarla da plsql, poiché il metodo sopra contiene decart successivi sulla tabella (quindi i distinti richiesti).http://www.dba-oracle.com/t_temporary_tables_sql.htm