我怀疑为这个问题提出一个标题是多么困难,我想知道是可能的,根本不是。 但我绝不是一个mysql大师,所以这里就是。
我目前正在重写我负责维护的应用程序。 它本质上是一个预订房间的活动管理系统。单个活动通常会有多个与之相关的房间。
在不同部分的整个应用程序中,必须列出一个包含列中房间的事件表以及其他事件信息。
目前,应用程序将房间存储为逗号分隔的id号列表,例如。 1,5,7我想将其标准化,以帮助解决目前因此安排而难以解决的其他问题。
所以我将房间与事件表分开,并使用另一个名为event_rooms的表。该表由
组成id
event_id
room_id
对于活动所在的每个房间,我都会在此表中添加多行。 这解决了应用程序中的许多问题,理想情况下我希望保持这样。
因此,如果使用单个查询我可以获得事件表行和事件所在的所有房间,那么我想解决的问题是什么?允许我创建包含事件列表的事件表。
事件表很简单,基本上是
-id
-event_name
-event_date
-notes
这可能吗?或者我必须进行多次查询(页面上有100多个事件,我希望避免这种情况,因为这意味着每页有101个查询。
或者我可能没有考虑过整体更好的设计选择? 我正在使用PHP,以防您的想法涉及应用程序代码。
答案 0 :(得分:1)
我做了一个SQL小提琴我认为解决了你的问题: http://sqlfiddle.com/#!2/71c8d/4
有两个问题:
但正如Strawberry所评论的那样,任何基本的mysql教程都会涉及到这一点,我推荐http://www.w3schools.com/sql/作为一个很好的起点。