(Oracle) SQL Datumsliste

BaseBallBatBoy

Erfahrenes Mitglied
Hi!

DBMS: Oracle 10g

Meine Tabelle:
CREATE TABLE dates
(
name VARCHAR2 (30),
date_from DATE,
date_to DATE
);

Mein Eintrag:
name date_from date_to
==== ======= ======
EntryA 01-JUN-09 03-JUN-09

Daraus will ich eine Datumsliste generieren, aber ich komme im Moment echt nicht drauf....
Wie lautet das SQL damit ich folgendes erhalte?
name my_date
==== =======
EntryA 01-JUN-09
EntryA 02-JUN-09
EntryA 03-JUN-09

Gruss
BBBB
 
Ich habe es mal versucht:

SELECT
NAME,
DATE_FROM + rownum AS my_date
FROM
(
SELECT
NAME,
DATE_FROM,
DATE_TO
FROM
DATES
)
CONNECT BY DATE_FROM + rownum <= DATE_TO


Ergibt:
name my_date
==== =======
EntryA 02-JUN-09
EntryA 03-JUN-09


Wenn ich die Tabelle um einen Record erweitere:

name date_from date_to
==== ======= ======
EntryA 01-JUN-09 03-JUN-09
EntryB 05-JUN-09 07-JUN-09

Erhalte ich:
name my_date
==== =======
EntryA 02-JUN-09
EntryA 03-JUN-09
EntryB 08-JUN-09

Ist also noch nicht das wonach ich suche, aber danke schonmal für deinen Beitrag. Ich schau mir dann mal Connect By nochmal genauer an...
 
Ich hab's inzwischen selbst herausgefunden. Falls es jemandem helfen sollte, hier meine Lösung:

SELECT DISTINCT
y.NAME,
y.DATE_FROM + LEVEL - 1 AS MY_DATE,
FROM (
SELECT
NAME,
DATE_FROM,
DATE_TO
FROM
DATES
) y
CONNECT BY
LEVEL <= y.DATE_TO - y.DATE_FROM + 1
 
Zurück