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在不同的屏幕上。如果用户在不同的行中输入所有时间,则网站速度太慢。如果有可能一个电影时间可以存储在一行中并且如何过滤它?请回复我。 –