[英]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_tbl
中movies_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.