新しいレコードを TABLE 1 に挿入するときに、別のテーブルの値に基づいて DATETIME に値を割り当てたいのですが、すべてをまとめるのに苦労しています。
TABLE1 には interval_id 列と submit_date 列 (およびその他多数) があります。
TABLE2 には interval_id、begin_time、および end_time があります
例:
- DATETIME が 2012-10-24 07:29:41 の INSERT ステートメント
- TIMEだけ剥がして
- 両方のテーブルで interval_id を参照します
- TIME が T2.begin_time と T2.end_time (この場合は 06:00:00 と 07:59:59) の間のどこにあるかを調べます。
- 決定したら、対応する値を T1.interval_id に割り当てます。
ここのところ:
INSERT INTO `TABLE1` (null, now())
WHERE
DATE(submit_date) = curdate()
AND TIME(submit_date)
----ここで TIME を開始時間列データと終了時間列データと比較するためのコーディングについてはよくわかりません----
完全な挿入ステートメント:
$sql = "INSERT INTO `summary` VALUES (null,'$user_id','$task_id',NOW(),'$tcompleted_id','$minutes_id','$hourinterval_id')
SELECT NOW(), hourinterval_id
FROM `hour_interval` H
WHERE TIME(NOW()) BETWEEN H.start_hour AND H.end_hour LIMIT 1"