Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Holen Sie sich eine Liste von Zahlen zwischen zwei Spalten mit Schlüssel

a_horse_with_no_name-s Lösung wäre

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

Ausgabe:

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

Aber ich würde es vorziehen, eine globale temporäre Tabelle zu erstellen und sie von plsql aus zu füllen, da die obige Methode nachfolgende Decarts auf der Tabelle enthält (daher die erforderliche Unterscheidung).http://www.dba-oracle.com/t_temporary_tables_sql.htm