我提前道歉,我不知道我正在尝试使用的工具的术语。
我有一个事件表,其中包含一个startdate字段(以及其他字段)和一个相关的重复表,其中包含对事件id的引用。重复表存储事件重复的星期几,以及是每月,每周等。我希望做的是复制SQL查询中的重复事件,这样我的最终结果将具有相同的事件在开始日期订购时的不同地方,所以我可以限制结果以进行适当的分页。
我正在考虑创建虚拟表和克隆表文档,但是我在将这些示例应用到我的情况时遇到了麻烦。
更新
希望我能详细说明这一点。
我现在拥有的基础知识SELECT * FROM 'events' WHERE 'start_date' >= TODAY() ORDER BY 'start_date LIMIT 20
从今天开始我的每一个事件,但我对结果进行分页,因此一次只显示20个。
我想要做的是创建一个临时的“虚拟”表,其中包含具有相关重复条目的事件,我将根据重复信息更改start_date
。因此,如果它是每周重复,则第二个表将填充相同的事件,除了每个start_date
将是从最后一天开始的7天。然后我可以在这两个表上进行连接,将这些结果限制为我想要的20个分页限制,并在事件的正确位置查找结果,并且易于执行分页。
我知道在mySQL中创建一个函数可能是正确的轨道,因为我想我必须循环一些信息才能添加日期。我只知道通过用PHP编写SQL的级别,所以函数有点超出了我的范围,尽管看起来似乎不太难以通过一点阅读来获取。我更加困惑的是如何创建一个假表,在循环中添加条目然后使用连接将它与第一个查询合并。
我也开始怀疑在mySQL中执行此操作的开销,如果我成功地将其用于工作,我将如何缓存这些结果,尽管它现在只是事后的想法。
感谢那些试图帮助我的人,我出于某种原因无法将这个问题转化为单词。