SQLite: Alle Daten zwischen Daten abrufen

Ich benötige Hilfe bei einem mit SQL (insbesondere SQLite) zusammenhängenden Problem. Ich habe einen Tisch "Urlaub"

CREATE TABLE vacation(
    name TEXT,
    to_date TEXT, 
    from_date TEXT
);

Wo ich das Datum (JJJJ-MM-TT) speichere, an dem jemand in den Urlaub fährt und wieder zurückkommt. Jetzt möchte ich eine unverwechselbare Liste aller Daten bekommen, an denen sich jemand im Urlaub befindet. Nehmen wir an, mein Tisch sieht aus wie:

+------------+-------------+------------+
|    name    |   to_date   |  from_date |
+------------+-------------+------------+
|    Peter   | 2013-07-01  | 2013-07-10 |
|    Paul    | 2013-06-30  | 2013-07-05 |
|    Simon   | 2013-05-10  | 2013-05-15 |
+------------+-------------+------------+

Das Ergebnis der Abfrage sollte folgendermaßen aussehen:

+------------------------------+
| dates_people_are_on_vacation |
+------------------------------+
|          2013-05-10          |
|          2013-05-11          |
|          2013-05-13          |
|          2013-05-14          |
|          2013-05-15          |
|          2013-06-30          |
|          2013-07-01          |
|          2013-07-02          |
|          2013-07-03          |
|          2013-07-04          |
|          2013-07-05          |
|          2013-07-06          |
|          2013-07-07          |
|          2013-07-08          |
|          2013-07-09          |
|          2013-07-10          |
+------------------------------+

Ich habe darüber nachgedacht, eine Datumstabelle 'all_dates' zu verwenden.

CREATE TABLES all_dates(
    date_entry TEXT
);

Dies umfasst einen Zeitraum von 20 Jahren (01.01.2010 bis 01.01.2010) und die folgende Abfrage:

SELECT date_entry FROM all_dates WHERE date_entry BETWEEN (SELECT from_date FROM vacation) AND (SELECT to_date FROM vacation); 

Wenn ich diese Abfrage jedoch auf den obigen Datensatz anwende, erhalte ich nur einen Bruchteil meines gewünschten Ergebnisses:

+------------------------------+
| dates_people_are_on_vacation |
+------------------------------+
|          2013-07-01          |
|          2013-07-02          |
|          2013-07-03          |
|          2013-07-04          |
|          2013-07-05          |
|          2013-07-06          |
|          2013-07-07          |
|          2013-07-08          |
|          2013-07-09          |
|          2013-07-10          |
+------------------------------+

Kann man das mit SQLite machen? Oder ist es besser, wenn ich nur die Spalten 'to_date' und 'from_date' zurückgebe und die Lücken zwischen diesen Daten in meiner Python-Anwendung fülle?

Jede Hilfe wird geschätzt!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage