2015-11-10 1 views
-1

Я пытаюсь добавить общее количество часов, отсчитываемых от сотрудника, я могу получить отработанные часы для каждой работы, но не могу их добавить.Как получить разницу двух дат в часах?

Я использую следующий код, чтобы получить дальний.

SELECT 
     TO_DATE(TRIP.RETURN_DATE, 'DD-MM-YYYY') 
     - TO_DATE(TRIP.DEPARTURE_DATE, 'DD-MM-YYYY') AS duration, 
     TRIP.EMPLOYEE_NO AS employee 
FROM EMPLOYEE, TRIP; 

И он возвращает результат в следующем формате:

DURATION | EMPLOYEE 
--------------------- 
    5  | 0037759  
    8  | 0037759  
    2  | 0037759  
    3  | 0037759  
    3  | 0037759 

Как добавить продолжительность для каждого сотрудника?

+0

посмотреть, как 'группа by' работает –

+0

Какой тип данных trip.return_date и trip.departure_date? –

+0

'TO_DATE (TRIP.RETURN_DATE, 'DD-MM-YYYY')' Почему вы применяете ** TO_DATE ** в ** DATE **? Что такое ** тип данных ** 'RETURN_DATE'? –

ответ

0

Я не знаю ваших табличных структур, поэтому я делаю некоторые предположения здесь. Кроме того, вы пропустите JOIN, чтобы связать сотрудника и поездку вместе.

SELECT SUM(TO_DATE(TRIP.RETURN_DATE, 'DD-MM-YYYY') - TO_DATE(TRIP.DEPARTURE_DATE, 'DD-MM-YYYY')) duration, 
TRIP.EMPLOYEE_NO AS employee 
FROM employee JOIN trip on trip.employee_no = employee.employee_no 

GROUP BY employee.employee_no 
+0

Помните, что mulitpy by 24. –

+0

Спасибо! это было действительно полезно! – beng09715