簡體   English   中英

MySQL日期范圍價格

[英]Mysql date range price

我想根據旺季的日期顯示價格。

例:

電影根據日期確定不同的價格

season_1 = 2016-05-01-2016-08-31價格為100 $
season_2 = 2016-09-01-2017-04-31價格是50 $

我桌上有兩個日期

season_tbl:

id    |   start_date   |  end_date   |  name
--------------------------------------------------
1     |  2016-05-01    | 2016-08-31  | season_1
2     |  2016-09-01    | 2017-04-30  | season_2

movie_price_tbl:

id    |   season_id    |  name            |  price | movie
------------------------------------------------------------
1     |  1             | Gladiator movie  | 100$   |  1
2     |  2             | Gladiator movie  | 50%    |  1

我期望的是:

當用戶輸入搜索開始日期2016-06-01結束日期2016-07-30並選擇該日期的電影放映價格ID。 在這種情況下,顯示season_1價格100$ 如果用戶輸入開始2016-09-23結束2017-01-21顯示season_2價格

我嘗試但不工作:

WHERE m.movie_id = 1 AND s.start_date <= '2016-05-01' AND s.end_date >= '2016-07-20'

也許此查詢將執行:

SELECT movies_price_tbl.price FROM season_tbl 
  INNER JOIN movies_price_tbl ON season_tbl.id = movies_price_tbl.season_id 
    WHERE movies_price_tbl.movie = '1' 
    AND season_tbl.start_date <= '2016-05-01' 
    AND season_tbl.end_date >= '2016-07-20'

PS:您應該在movies_price_tblmovies_price_tbl name movies_price_tbl 不需要它,因為有movie_id

試試這個查詢

SELECT price FROM movies_price_tbl WHERE movie_id = 1 && season_id = (select id from season_tbl where start_date <= '2016-05-01' && end_date >= '2016-07-20')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM