2015-11-10 63 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

查看'group by'如何工作 –

+0

trip.return_date和trip.departure_date的数据类型是什么? –

+0

'TO_DATE(TRIP.RETURN_DATE,'DD-MM-YYYY')'为什么在**日期**上应用** TO_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

记得要用24来制作。 –

+0

谢谢!这真的很有帮助! – beng09715

相关问题