0

我創建一個數據庫是劇院。在那部電影中,Cinemas表格被創建,但現在我想在我的數據庫中創建Showtime表格,所以我對如何製作該表格,表格中放置了多少個字段以及如何在該表格中存儲顯示時間感到困惑。想用銀,金和鉑的價格來放映時間。數據庫電影ShowTime

如果有任何想法,請告訴我。

謝謝。

回答

2

那麼,在showtime你基本上應該有列

stmid int,    -- pointing to entry in movie table 
stcid int,    -- pointing to entry in cinema table 
ststart datetime,  -- the actual "showtime" 
stprice float   -- ticket price 

,然後定義stmid,stcid是主鍵像

PRIMARY KEY (stmid,stcid) 

我不會直接分配銀,金或鉑但在後續階段,無論是在QUERY還是VIEW中,取決於可能隨時間而變化的標準。另一方面,價格是一個非常具體和固定的數據類型。

2.編輯

選擇將在未來24小時內播放,你可以使用下面的電影:

SELECT mname, 
     GROUP_CONCAT(DISTINCT DATE_FORMAT(ststart,'%l:%i %p') ORDER BY ststart) mtimes 
FROM movies 
INNER JOIN showtime ON stmid=mid 
WHERE mname LIKE '%name of movie%' AND ststart BETWEEN NOW() AND ADDDATE(NOW(),1) 
GROUP BY mname 

本聲明的假設有列mid(獨特的電影ID )和mname(電影名稱)在桌面電影。

+0

謝謝你的回覆。如果當前時間爲下午2:00,我想要以某種方式顯示節目,那麼用戶應該只能看到下午2:00之後的節目,而不是下午2:00之前。請回復我一樣。! –

+0

使用SELECT語句將電影時間與當前時間進行比較,例如'SELECT * FROM showtime WHERE ststart> NOW()' – cars10m

+0

謝謝,但在上表中您提到了用戶分別輸入時間,然後數據到目前爲止,網站將緩慢。假設如果在我的城市有100個影院,並且在一個影院中,5個電影正在運行,並且一個電影可以在多個時間段運行,如上午10:00,上午11:30,下午3:00,下午5:00在不同的屏幕上。如果用戶在不同的行中輸入所有時間,則網站速度太慢。如果有可能一個電影時間可以存儲在一行中並且如何過濾它?請回復我。 –