我有两个表“USERS”和“CALENDER”,在日历表用户中放置他的可用日期,表示一对多的关系。
现在我想按可用性日期获取用户列表(今天的日期意味着今天可用),即:我想在顶部显示今天可用的用户,然后显示未来可用的用户,然后显示那些没有的用户t 任何可用性(即:日历中没有记录)。
我正在尝试以下查询:
SELECT u.first_name, c.date
FROM users AS u
LEFT JOIN calendar AS c ON (c.uid = u.id)
GROUP BY u.id
ORDER BY DATE(c.date) ASC
但这将首先记录那些在日历中没有任何可用性的用户,然后是那些有可用性但过去的用户。结果如下:
User1 NULL User13 2012-12-12 00:00:00
User2 NULL User12 2012-12-12 00:00:00
User3 NULL User10 2012-12-23 00:00:00
User4 NULL User10 2012-12-24 00:00:00
User5 NULL User9 2012-12-25 00:00:00
User6 NULL - Want To look this => User8 2012-12-27 00:00:00
User7 2012-09-20 00:00:00 User7 2012-12-28 00:00:00
User8 2012-09-29 00:00:00 User1 NUL
User9 2012-10-25 00:00:00 User2 NUL
User10 2012-10-26 00:00:00 User3 NUL
User11 2012-10-27 00:00:00 User4 NUL
User12 2012-12-05 00:00:00 User5 NUL
User13 2012-12-10 00:00:00 User6 NUL