首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >日程/可用性查询的问题

日程/可用性查询的问题
EN

Stack Overflow用户
提问于 2010-09-10 16:05:42
回答 2查看 259关注 0票数 1

我有一个mysql表与用户和他们的每周日历。

每个用户都可以为一周设置自己的可用性(上午、下午、夜间/通过SAT),而且这种情况不会经常改变,几乎永远不会改变。

假设那些用户是健身房的私人教练,或者网球场,你可以预订.

我在这里的问题是找到正确的查询(甚至重新考虑我在mysql中存储数据的方式),以便外部web用户根据3个[o]morning, [o]afternoon, and [o]night复选按钮检查这些数据的可用性。

因此,我希望我的web用户访问我的网站,检查/取消这些按钮,以确定哪一个(私人教练,或其他)是可用的。

因此,如果我检查早晨,我只能看到可用的人,也(但不仅),在早上,(因为私人教练可以在上午也可以在下午,等等)。

听起来可能是个容易的问题,但我现在很难.

任何帮助都是非常感谢的。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-10 16:17:48

这不是一个真正的算法问题,这更像是一个DBA问题。您很可能有一个用户表和一个可用性表。

代码语言:javascript
运行
复制
user:
    userid
    ...

availability:
    userid
    day
    timeofday

当给定一个查询(如星期一、星期三、上午)(假设关系是(星期一或星期三)和(上午或下午))时,您可以执行如下查询。

代码语言:javascript
运行
复制
SELECT userid FROM availability WHERE day='wednesday' OR day is 'monday' AND timeofday='morning' OR timeofday='afternoon'
票数 2
EN

Stack Overflow用户

发布于 2010-09-14 10:08:31

这个问题的答案将取决于您的DB结构。如果将可用时间存储为1、2、3或12、13、123、23的任何组合,则可以使用MYSQL正则表达式根据输入复选框条件限制结果。

我建议你这样做:

代码语言:javascript
运行
复制
SELECT trainer FROM trainer_table WHERE availaility regexp '[Limiting Criteria]' 

在上面的代码中,只需将训练器替换为您希望返回的字段的名称。然后用表的名称替换trainer_table,最后用限制文本替换限制条件,无论是1、2、3还是任何组合。

如果您需要更具体的帮助,那么您自己的表结构的示例将是有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3686247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档