Ich schreibe eine Abfrage, die Zahlen zwischen angegebenen Bereichen generieren.Generieren Sie Zahlen für bestimmte Bereiche (SQL-Abfrage)
Ich habe eine Tabelle
NUM_RANGES
ID START_NUMBER END_NUMBER
-- ------------ ----------
1 1 5
2 6 10
Ich brauche dieses Ergebnis zu erhalten:
ID NUMBER
-- ------
1 1
1 2
1 3
1 4
1 5
2 6
2 7
2 8
2 9
2 10
Mit dieser Abfrage i richtiges Ergebnis bekommen, aber nur für bestimmte ID in where-Klausel:
select id, start_number + level - 1 next_tag
from (select id, start_number,end_number
from NUM_RANGES
where id = 1
)
connect by level <= end_number - start_number + 1
Ohne "where id = 1" bekomme ich 62 Zeilen mit Duplikaten, wobei distinct hilft, aber mit größeren Bereichen 1 - 200, 200- 500 es funktioniert zu langsam ..
Danke für Hilfe!
Wie hoch muss Ihre end_number gehen? – RBarryYoung