如何使用MySql获取基于中间时间的id
我想根据中间时间获得cubbersId 这是我的表:表名 在上表中,Cubbersis有一些时间 条件 如果am选择fromTime为10:30:00,toTime为12:00:00,则表示获取最后1列 如果am选择fromTime为08:30:00,toTime为16:00:00,则表示不选择列 如果am选择fromTime为10:30:00,toTime为20:00:00,则表示不选择列 如果am选择fromTime为08:30:00,toTime为20:00:00,则表示不选择列 我尝试了此查询,但不支持此查询:如何使用MySql获取基于中间时间的id,mysql,node.js,select,left-join,Mysql,Node.js,Select,Left Join,我想根据中间时间获得cubbersId 这是我的表:表名 在上表中,Cubbersis有一些时间 条件 如果am选择fromTime为10:30:00,toTime为12:00:00,则表示获取最后1列 如果am选择fromTime为08:30:00,toTime为16:00:00,则表示不选择列 如果am选择fromTime为10:30:00,toTime为20:00:00,则表示不选择列 如果am选择fromTime为08:30:00,toTime为20:00:00,则表示不选择列 我尝试了
SELECT
c.cubbersId,
shopAvailTime.fromTime,
shopAvailTime.toTime
FROM cubbers c
LEFT JOIN
(SELECT * FROM cubbersavailability ca WHERE CAST('08:30:00' as time) < ca.toTime AND CAST('12:00:00' as time) > ca.fromTime ) as shopAvailTime ON (c.cubbersId = shopAvailTime.cubbersId)
WHERE c.cubbersId = 1
但它得到了所有的列表
注意:这个问题已经问过了,但对我的问题没有帮助
我不知道你是否把事情弄得比实际需要的复杂得多。@草莓:把你的联系方式给我。我看不出有什么问题。但是请注意,您的表似乎缺少一个主键,这在适当的时候可能会出现问题。
SELECT
c.cubbersId,
shopAvailTime.fromTime,
shopAvailTime.toTime
FROM cubbers c
LEFT JOIN
(SELECT * FROM cubbersavailability ca WHERE CAST('08:30:00' as time) < ca.toTime AND CAST('12:00:00' as time) > ca.fromTime ) as shopAvailTime ON (c.cubbersId = shopAvailTime.cubbersId)
WHERE c.cubbersId = 1
SELECT x.cubbersId
, x.fromTime
, x.toTime
FROM cubbersavailability x
WHERE '08:30:00' >= x.fromTime
AND '12:00:00' <= x.toTime
AND x.cubbersId = 1