2012-01-31 105 views
1

我試圖想出一種方法來在時間範圍內查詢,根據其可用性將作業分配給不同的人。在時間範圍內搜索

所以我成像存儲在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 

任何幫助,讚賞我怎麼能解決這個問題,我有一種感覺,它可能涉及具有不同的存儲信息,但我不知道。

+1

如果避免多值列和參數,應該更容易:「10:00 - 11:30」是多值的,因爲它包含from_time和to_time兩個值。當然,你想繼續以這種方式問題嗎? – danihp 2012-01-31 14:08:53

回答

0

我覺得你的目的,你可以使用「AND」或查詢「加入」 ....例如

SELECT * FROM DB_NAME其中%之間可用(天)=%s和可用小時數s和%s;