Помогите пожалуйста с SQL запросом

Евгений Крапивенко

Имеется две таблицы цен на товары:

Таблица default_price, содержащая два столбца: идентификатор товара и цена по-умолчанию:
id price
10 3000
34 5000
53 5000
Таблица day_price, содержащая три столбца: идентификатор товара, дата, особая цена на дату:
id price date
53 3500 01.10.2014
53 5500 05.10.2014
53 1500 09.10.2014
53 2500 10.10.2014
53 2500 11.10.2014
53 2500 12.10.2014
10 3500 02.10.2014

Необходимо, чтобы SQL-запрос по заданному идентификатору товара (например = 53) и датам начала и конца периода (например с 01 по 10.10.2012), возвращал таблицу следующего вида:
date price price_type
01.10.2014 3500 особая цена
02.10.2014 5000 цена по-умолчанию
03.10.2014 5000 цена по-умолчанию
04.10.2014 5000 цена по-умолчанию
05.10.2014 5500 особая цена
06.10.2014 5000 цена по-умолчанию
07.10.2014 5000 цена по-умолчанию
08.10.2014 5000 цена по-умолчанию
09.10.2014 1500 особая цена
10.10.2014 2500 особая цена
То есть для каждой даты из периода выбирал либо цену по-умолчанию, если на заданный день нет особой цены, либо особую цену,
если таковая имеется, с указанием соответствующего источника цены для каждого дня.

вот этот вариант не подходит:

SELECT day_price.date, day_price.price,
CASE
    WHEN default_price.price = day_price.price
    THEN 'цена по-умолчанию'
    ELSE 'особая цена'
    END as price_type
FROM day_price
JOIN default_price ON day_price.id = default_price.id
WHERE default_price.id = 53 AND day_price.date BETWEEN '2014-10-01' AND '2014-10-20'
ORDER by date ASC

ошибка в том, что в таблице результата, дата берется из интервала BETWEEN '2014-10-01' AND '2014-10-20' с шагом 1 день. Как "на лету" добалять те дни которых нет в таблице day_price ума не прилажу. Хотя бы куда копать пните.

1 чел.