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. データベースに price2013-10-10 - 34 euroと price を設定し2013-10-11 - 0.00euroました。

期間内の 1 日でも価格が 0.00 の場合に、0.00 の価格を返すようにクエリを作成するにはどうすればよいですか?

この 0.00 の値を使用して、特定の日付に部屋が利用できないことを後で示します。このクエリは、2013 年 10 月 10 日の 1 日のみの価格である合計として 34 ユーロを返します。2 日目は部屋が利用できないためです。 ..

問題の本質を理解していただければ幸いです

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 に答える