2012-11-14 31 views
1

這是我所需要的更新做:UPDATE語句加入和兩個有條件的地方

  • 更新我的彙總表TIME列與用戶編輯的時間價值
  • 比較新的時間,使用的ID從我的彙總表和hour_interval表中加入表
  • 找到新的TIME落入的正確的行ID(有兩列有開始和結束小時;例如:開始列-04:00:00結束列06 :00:00)
  • 以正確的時間間隔r更新彙總表ow ID使用匯總表ID

該代碼執行,但不更新間隔ID。建議?

UPDATE summary S 
JOIN hour_interval H 
ON S.hourinterval_id = H.hourinterval_id 
SET S.hourinterval_id = H.hourinterval_id 
WHERE ('$new_time' BETWEEN H.start_hour AND H.end_hour) 
AND summary_id = '$summary_id'" 


hourinterval_id start_hour end_hour 
1    4:00:00 5:59:59 
2    6:00:00 7:59:59 
3    8:00:00 9:59:59 
4    10:00:00 11:59:59 
5    12:00:00 13:59:59 
6    14:00:00 15:59:59 
7    16:00:00 17:59:59 
8    18:00:00 19:59:59 
+0

你有你正在使用一個特定的$ NEW_TIME?此外,查看hour_interval表的內容會很有幫助。 – Ben

+0

添加了hour_interval表列。例如,$ new_time值將是'09:33:00'。 – Mike

回答

1

試試這個:

UPDATE summary S 
JOIN hour_interval H 
ON '$new_time' BETWEEN H.start_hour AND H.end_hour 
SET S.hourinterval_id = H.hourinterval_id 
WHERE summary_id = '$summary_id'" 
+0

就是這樣,謝謝! – Mike

+0

沒問題。別客氣。 – Tom