как можно рассчитать общую стоимость за 5 дней (mysql) систему бронирования отелей

У меня есть эта таблица по цене комнат с разным сезоном (высокий, низкий) сезон

как можно получить общую цену за 5 дней с разными днями и разным сезоном.

взгляните на эту таблицу

введите описание изображения здесь

это моя команда (mysql) Я хочу получить общую стоимость 10 ночей с 04-07-2013 по 11-07-2013

select sum( case when dayname('2013-01-07') = 'Monday' then coalesce(prices.room_price , def.room_price) when dayname('2013-01-07') = 'Sunday' then coalesce(prices.room_price , def.room_price) )as TotalPrice from (select strtodate('2013-01-07' , '%Y-%m-%d') as thedate select strtodate('2013-01-08' , '%Y-%m-%d') as thedate ) dates left outer join ts_room_prices prices on dates.thedate between prices.season_start and prices.season_end cross join ts_room prices def on def.season_name = 'default' 


прибавление

Я написал эту команду, но до сих пор не работаю

 select sum(coalesce(prices.room_price , def.room_price) ) as TotalPrice from (select strtodate('2013-01-07' , '%Y-%m-%d') as thedate union all select strtodate('2013-01-08' , '%Y-%m-%d') as thedate ) dates left outer join ts_room_prices prices on dates.thedate between prices.season_start and prices.season_end and dayname(dates.thedate) = prices.dayofweek join ts_room_prices def on def.season_name = 'default' and def.hotel = 3233 and def.dayofweek = dayname(dates.thedate) 

Ошибка: # 1305 – FUNCTION saudihot_saudihotels.strtodate не существует

Related of "как можно рассчитать общую стоимость за 5 дней (mysql) систему бронирования отелей"

Вот запрос:

 select sum(coalesce(prices.room_price , def.room_price) ) as TotalPrice from (select strtodate('2013-01-07' , '%Y-%m-%d') as thedate union all select strtodate('2013-01-08' , '%Y-%m-%d') as thedate ) dates left outer join ts_room_prices prices on dates.thedate between prices.season_start and prices.season_end and dayname(dates.thedate) = prices.dayofweek join ts_room prices def on def.season_name = 'default' and def.hotel = <whatever the hotel is> and def.dayofweek = dayname(dates.thedate) 

Обратите внимание, что выражение sum() намного проще, и день недели теперь находится в соединениях. Я также добавил условия отеля для получения значений по умолчанию – это должно быть и в другом запросе.

Помните, что вы должны поместить все даты в исходный подзапрос, в сочетании с union all .