これはフードサービスシステムです... 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 |
+---+---------+-----------+--------------+---+
だから私は約2日間クエリに苦労しています(データベースにはこれよりも多くあります...いくつかのn:m関係は、これが1人の従業員の合計消費量を取得できる消費テーブルです)。問題は、現在の日付と現在の時刻を使用して、月曜日の 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)
たぶん、時間関数の使い方が間違っているか、間違っているだけです。
ここで助けてください。
事前にthx。