我的数据库有一行,有以下信息:
data:
user_id start_time end_time
405 12:00:00 14:00:00
我发言如下:
SELECT *
FROM data
INNER join users on users.user_id = data.user_id
WHERE NOT EXISTS
(SELECT * FROM data
WHERE 10:00:00 BETWEEN start_time AND end_time)
GROUP BY users.usrID");
现在,我认为,这一询问会回到上述一行(用户405),但不会让任何人返回。 (每10:00至12:00之间。)
有趣的是,如果我把价值10:00改为07:00:00,那就行了罚款。
任何关于为何不这样做的想法? 在数据库中,我设立了“技术监评”领域,并重新编排格式:00:00:00。
非常感谢!
我改变了我对此事的问候:
SELECT usrID,
first,
last
FROM users
WHERE user_id NOT IN (SELECT u.user_id
FROM `data` d,
`users` u
WHERE d.user_id = u.user_id
AND CAST( 10:00:00 AS TIME) BETWEEN start_time AND end_time)
ORDER BY u.user_id
似乎就这样了。 感谢一切帮助。