2014-03-01 1 views
0

에 두 개의 열을 계산 :내가 3 열이 MySQL 데이터베이스를 가지고 MySQL의

Day_hours 
Day_minutes 
All_day_hours 

I 나는거야 내가 일을 몇 시간에 넣을 수있는 JSP 페이지, 몇 가지 다른 양식 필드가 . 내가 다른 곳에서 일하는 날에는 fx가 5 * Day_hours, Day_minutes and All_day_hours에 들어가야 함을 의미합니다. 그래서 문제는 하루 동안 모든 시간과 분을 계산하려고한다는 것입니다. 나는 "Day_minutes는"그것은 나에게 내가 125 분 시간으로 변환되어 원하는 결과 (125)를 줄 것입니다 열을 계산하면

1 job: 2 hours 15 minutes 
2 job: 3 hours 45 minutes 
3 job: 1 hours 10 minutes 
4 job: 4 hours 40 minutes 
5 job: 3 hours 15 minutes 

은 그래서 의미, 그래서 결과는 2 것 : 그래서 FX를하는 경우는 일 시간 5 분. 이후 Day_hours와 Day_minutes는 Allday_hours 열에 추가되어야합니다. 그래서 Allday_hours는 Day_hours + Day_minutes의 합계입니다

그래서 FX는 MySQL 데이터베이스에 예제 일에 대한 다음 정보가 :

그래서 내 질문은
   Day_hours  Day_minutes  Allday_hours 
1 job     2    15    2.15 
2 job:     3    45    3.45 
3 job:     1    10    1.10 
4 job:     4    40    4.40 
5 job:     3    15    3.15 

, 나는 Day_hours 및 Day_minutes가로 계산합니까 방법은 Allday_hours, 그래서 직업 1의 결과는 2.15일까요?

좋은 주말 보내십시오.

안부 MADS

+0

귀하의 질문을 이해할 수 없습니다. –

+0

계산 된 열에서 UDF를 사용하고 함수에서 처리/계산을 시도 했습니까? – Mentor

+0

안녕하세요. 귀하의 답변에 많은 감사드립니다. 방금 질문을 수정 했으므로 더 분명합니다. 당신이 나를 도울 수 있기를 바랍니다. – McDuck4

답변

1

이 중복 정보이기 때문에 당신은 Allday_hours에 뭔가를 저장하지 말아야 함을 의미한다.

데이터에서 문제없이 항상 원하는 데이터를 검색 할 수 있습니다. 예 :

SELECT *, ((Day_hours*60 + Day_minutes)/60) AS Allday_hours FROM timedata... 

실제로 저장할 필요가 없습니다.

그런데 2 시간 15 분이 더 걸려서 2.15과 같은 것이 더 이상하다고 생각합니다. 그래서 내 위의 쿼리는 상대적으로 뭔가를 계산 ... 당신이 정말로 당신의 값을 계산하려는 경우, 당신은

SELECT *, (Day_hours + (Day_minutes/100)) as Allday_hours FROM timedata 

을 사용할 수 있습니다 그리고 당신은 정말이 저장하려는 경우, 당신은

같은 업데이트 문에서 계산을 사용할 수 있습니다
UPDATE timedata SET Allday_hours = (Day_hours + (Day_minutes/100)) 
+1

그것은 GhostHandler처럼 매력적으로 작동합니다. 고마워. 그냥 마지막 질문입니다. 왜 100으로 나눕니 까? : -/ – McDuck4

+0

2 시간 15 분이면 2.15를 얻고 싶습니다. 15/100을 나눈다면 0.15가됩니다. 2 + 0.15를 더하면 2.15가됩니다. – GhostGambler

+0

Allday_hours를 사용하면 안되면 구문은 어떻게되어야합니까? 나는 Allday_hours에 그 두 가지를 함께 저장하지 않고 Day_hours와 Day_minutes로만 계산한다면 어떻게 생각하십니까 – McDuck4