我正试图想出一种在时间范围列表中查询的方法,根据可用性将作业分配给不同的人。
所以我正在对存储在MYSQL中的表进行成像:
Person | Available (day) | Available (hours) | Free (from) | Free (until)
Mateluna | Monday | 10:00 - 13:00 | 10:00 | 13:00
Mateluna | Monday | 15:00 - 19:00 | 15:00 | 19:00
DelloStritto | Tuesday | 12:00 - 18:00 | 12:00 | 18:00
DeFranco | Monday | 10:00 - 11:30 | 10:00 | 11:30
Richardson | Monday | 08:00 - 10:30 | 08:00 | 10:30
*从可用(小时)生成免费(自由)和免费(直到)
我的想法是,我可以创建一个表格,用“周一”等参数查询表格。 “10:00-11:30”,该功能将归还DeFranco和Mateluna。从我能想到的,它将涉及必须在“可用(日)”内进行搜索,并能够在“可用(小时)”时间范围内搜索 - 我不知道如何做或确定是否是可能的。
目前我可以创造出有效的东西,但它更具通用性,例如。我可以搜索“星期一”并看到周一所有人都可用,然后我必须查看输出列表以找到符合我需求的人,例如。
Mateluna @ 10:00 - 13:00
DeFranco @ 10:00 - 11:30
Richardson @ 08:00 - 10:30
任何帮助,很多赞赏我如何解决这个问题,我觉得可能需要以不同的方式存储信息,但我不确定。
答案 0 :(得分:0)
我认为,出于您的目的,您可以在查询中使用“AND”或“联接”....例如
select * from db_name where available(day)=%s和%s和%s之间的可用小时数;