2012-06-30 45 views
0

所以我有兩個表。根據MySQL中的兩個表確定空閒時隙

表1中命名爲 '預約' 具有以下字段:ID(INT),TimeboxID(INT),Date(日期)

表2被命名爲 '時間盒' 具有以下字段:ID(INT) ,Weekday(INT),StartTime(VARCHAR)

表1保持所有的約會(Date + TimeboxID組合),而表2定義了哪些時隙可用於一週的每一天。

這是我的問題:如何在1個查詢中找出哪些日期有可用空閒時隙(以及多少個)?

ps。字段StartTime僅用於顯示,這裏沒有意義。

回答

1

我應該使用類似的財產以後:

SELECT workdays.date, COUNT(DISTINCT timebox.ID) AS FreeTimeBoxes 
FROM workdays 
LEFT JOIN timebox ON (WEEKDAY(workdays.date) = timebox.Weekday) 
LEFT JOIN appointment ON (workdays.date = appointment.date AND timebox.ID = appointment.TimeboxID) 
WHERE appointment.ID IS NULL 
GROUP BY workdays.date 

不知道,如果你替換表工作日白衣的東西自動

+0

謝謝。我把這與[解決方案填充工作日表](http://stackoverflow.com/questions/4736690/create-mysql-date-range) – x74x61

相關問題