2015-07-03 20 views
-4

我有一个有四列的表,即eid,ename,hire_date和end_date。现在我想写一个查询,显示已经工作了多少天的员工的姓名和ID以及否。他/她工作的日子。我尝试了很多,但不幸的是我没有得到想要的答案。与最大工作时间相关的SQL查询

+1

你用什么数据库?你试过什么了? – Marusyk

+0

您是否能够计算出每个人都已成为解决方案的垫脚石? –

回答

0

H个..

CREATE TABLE tests 
(eid int,ename VARCHAR(20),hire_date DATETIME , end_date Datetime) 

INSERT INTO dbo.tests 
    (eid , 
     ename , 
     hire_date , 
     end_date 
    ) 
VALUES (1 , -- eid - int 
     'A1' , -- ename - varchar(20) 
     '2015-01-03 10:41:43' , -- hire_date - datetime 
     '2015-03-03 10:41:43' -- end_date - datetime 
    ), 
    (2 , -- eid - int 
     'A2' , -- ename - varchar(20) 
     '2015-05-03 10:41:43' , -- hire_date - datetime 
     '2015-06-03 10:41:43' -- end_date - datetime 
    ) 

    SELECT TOP 1 eid,ename,DATEDIFF(DAY,hire_date,end_date) AS DaysWORKED   FROM tests ORDER BY DATEDIFF(DAY,hire_date,end_date) desc 

感谢