SQLite: получить все даты между датами

Мне нужна помощь с проблемой, связанной с SQL (в частности: SQLite). У меня есть столик "каникулы"

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

где я храню дату (ГГГГ-ММ-ДД), когда кто-то уходит в отпуск и возвращается снова. Теперь я хотел бы получить четкий список всех дат, когда кто-то в отпуске. Давайте предположим, что моя таблица выглядит так:

+------------+-------------+------------+
|    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 |
+------------+-------------+------------+

Результат запроса должен выглядеть следующим образом:

+------------------------------+
| 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          |
+------------------------------+

Я думал об использовании таблицы дат 'all_dates'

CREATE TABLES all_dates(
    date_entry TEXT
);

который охватывает 20-летний промежуток времени (с 2010-01-01 по 2030-01-01) и следующий запрос:

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

Однако, если я применю этот запрос к вышеуказанному набору данных, я получу лишь часть моего желаемого результата:

+------------------------------+
| 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          |
+------------------------------+

Можно ли это сделать с помощью SQLite? Или лучше, если я просто верну столбцы to_date и from_date и заполню пробелы между этими датами в моем приложении Python?

Любая помощь приветствуется!

Ответы на вопрос(1)

Ваш ответ на вопрос