这是一个食品服务系统......我有一个名为 detalle_regimen_paciente 的表,它存储饮食,周一至周日的早餐(周一为 1 份,周日为 7 份,智利式),也有特定的服务时间。
+---+---------+-----------+--------------+---+
|id | name |hora_carga |hora_servicio |day|
+---+---------+-----------+--------------+---+
|1 |breakfast|08:00 |09:00 |1 |
+---+---------+-----------+--------------+---+
|2 |lunch |10:00 |13:00 |1 |
+---+---------+-----------+--------------+---+
|3 |breakfast|08:00 |09:00 |2 |
+---+---------+-----------+--------------+---+
|2 |lunch |10:00 |13:00 |2 |
+---+---------+-----------+--------------+---+
所以我在查询中苦苦挣扎了大约两天(数据库中的内容比这更多......一些 n:m 关系是一个消费表,我可以从中获得一名员工的总消费量),我发现问题是我找不到使用当前日期和当前时间仅选择周一 08:00 的餐点(即记录 id #1)的方法...
所以在星期一的 07:58 它应该只返回 ID 为 1 的记录,因为它是下一顿服务,也是为员工收取的下一顿饭。
+---+---------+-------------+---+
|1 |breakfast|08:00 |1 |
+---+---------+-------------+---+
这是到目前为止的sql,但它似乎只是过滤了一天......
select detalle_regimen_paciente.hora_carga
from
detalle_regimen_paciente
where
detalle_regimen_paciente.hora_servicio > CURTIME() AND
detalle_regimen_paciente.hora_carga > CURTIME()
AND
detalle_regimen_paciente.dia = (select DAYOFWEEK(CURDATE())-1)
也许我只是在问错或误用时间功能。
请在这里帮忙。
提前谢谢。