0

请帮我解决这个问题。它看起来很简单,但请阅读以下内容:查询:

select SUM(price) 
from prices_adverts 
where advert_id="1" 
  and room_type_id="2" 
  and (date >= "2013-10-10" 
  AND date <"2013-10-13") 
order by price    

此查询检查上述日期之间酒店房间的价格。在这种情况下为 2 天 -2013-10-102013-10-11. 我已经在数据库中设置了价格2013-10-10 - 34 euro和价格2013-10-11 - 0.00euro

如果在此期间即使 1 天的价格为 0.00,我如何进行查询以返回 0.00 价格?

我稍后使用此 0.00 值显示该房间在特定日期不可用。现在此查询返回 eur 34 作为总和,这是仅 2013-10-10 1 天的价格,因为第二天房间不可用..

我希望你了解问题的本质

4

1 回答 1

5
select if(min(price)=0, 0, SUM(price) )
from prices_adverts 
where advert_id="1" 
  and room_type_id="2" 
  and (date >= "2013-10-10" 
  AND date <"2013-10-13") 
order by price 
于 2013-10-10T08:00:54.023 回答