2013-02-18 68 views
0

我有表列和overtime,我想要做一個SQL或PHP查詢,檢查工作時間是否超過8小時,如果是的話,那麼加班時間爲UPDATE加班專欄。計算加班工作時間和更新加班到表

這裏是我的表:

id workinghours overtime 
1, 4.79,   --- 
2, 8.73,   --- 
3, 7.97,   --- 

例如在第二行有8.73小時工作,所以它會更新0.73小時,加班列。

+0

你可能需要更多的如數據結構的詳細信息,以獲得更有效的答覆 – 2013-02-18 11:14:49

回答

1

查詢:

update work set overtime= (case when working > 8 then (working - 8) else null end); 

檢查 SQL Fiddle Demo

+0

這似乎是非常可行的方式,謝謝你展示SQL調試器/測試網站。 – user2082882 2013-02-19 07:12:56

1

嘗試這樣的:

update mytable 
    set overtime = 
     case when workinghours > 8 then workinghours - 8 else 0 end 
; 
+2

我'd可能會添加一個'加班' LL',以便已經計算的加班時間不被重新計算。當然,這要求數字一旦進入就不會改變! – halfer 2013-02-18 11:20:26

+0

感謝這工作! – user2082882 2013-02-18 11:27:15

0
update YourTable 
     set overtime=workinghours-8 
      where workinghours>8