当前位置: 首页 > 面试题库 >

如何计算5天的总价格(mysql)酒店预订系统

易成天
2023-03-14
问题内容

我有这张表来查询不同季节(高,低)季节的房间价格

如何获得不同天数和不同季节的5天总价..

看这张表

在此处输入图片说明

这是我的命令(mysql)我想从 2013年4月7日*2013年 11月7日获得10晚的总价格 *

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-功能saudihot_saudihotels.strtodate不存在


问题答案:

这是查询:

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



 类似资料:
  • 问题内容: 嗨,在阅读了StackOverflow上的其他问题后,我一直在尝试建立自己的系统来检查房间价格。 当预订日期中的房价没有重叠时,我的查询工作正常并产生正确的天数,但是当重叠时,我在第二行结果中得到了额外的一天。 例如,某人到达2011-04-14并离开2011-04-16(2天)。15日的费率从66更改为70,因此他应该以66的费率有1天,以70的费率有1天。 我尝试过没有TIMEDA

  • 问题内容: 我有这些表: 我如何计算这些列的总价: 对于每种产品: 适用于所有含运费的产品 问题答案: 您可以通过访问属性来检索 _数据透视_表的列,该属性已经存在了很长时间了 默认情况下,只有模型关键点会出现在枢轴对象上。如果数据透视表包含额外的属性,则在定义关系时必须指定它们: 在您的情况下,您可以像下面的代码中那样定义关系: 现在,可以通过属性(例如)访问表上的列。 最后,这是计算订单总数的

  • 问题内容: 我有一个酒店预订系统的查询,当有特定房间时,我需要查找日期。(这是一家精品酒店,人们在其中预订特定的房间,因此在获得此代码之前,他们知道他们想要的确切房间。 我要查找的结果是一个房间的详细信息,我在查询中指定了一个房间-我是不查找多个房间的信息。 ) “可用性”表模式很简单,每一行是: 因此,例如,如果某个房间在1月1日至1月5日期间被占用,则将五行添加到可用性表中,每一天占据该房间。

  • 本文向大家介绍javascript实现获取一个日期段内每天不同的价格(计算入住总价格),包括了javascript实现获取一个日期段内每天不同的价格(计算入住总价格)的使用技巧和注意事项,需要的朋友参考一下   代码例子 最近在做酒店的小程序项目开发,遇到一个这样的问题。 酒店的房间价格是浮动的,每天每时或某个特殊的日期价格等都是浮动的不一样。如果用户选择了未来5天的住房的话,而这5天刚好价格还都

  • 我需要为一家酒店创建一个ERD,问题如下: “一套酒店的所有者希望为他或她的酒店建立一个酒店管理系统。这些酒店位于南非的主要城市和旅游景点。在每个酒店中,员工被雇佣来履行各种职责。在每个酒店中,客人预订他们选择的房间,他们根据预订的房间类型计费。给定上面的业务场景,请绘制一个实体关系图,指示所有实体和关系(基数)。” 这就是我所创造的: 我的问题 > 如果Employee_ID在Hotel中是fo

  • 我是工作酒店预订工作流程。但我在酒店预订API上很挣扎。下面我一步一步地提到我所做的活动。请帮我解决这个问题。 OTA_HotelAvailrQ API: 请求正文: