select 体检日期=max(b.体检日期),a.姓名
FROM Info_Emp a INNER JOIN
      Emp_CheckBody b ON a.员工编号 = b.员工编号
group by 姓名
having datediff(day,体检日期,getdate())>365

解决方案 »

  1.   

    --或者:
    SELECT DISTINCT * from(
    select DATEDIFF(DAY, MAX(b.体检日期), GETDATE()) AS 体检日期, a.姓名
    FROM Info_Emp a INNER JOIN
          Emp_CheckBody b ON a.员工编号 = b.员工编号
    GROUP BY a.姓名)a where 体检日期 > 365
      

  2.   


    select A.姓名,B.体检日期
    FROM Info_Emp A 
    INNER JOIN
    (select 员工编号, MAX(体检日期) as 体检日期
    from Emp_CheckBody
    group by 员工编号
    ) as
    B on B.员工编号=A.员工编号
    where DATEDIFF(dd,体检日期,getdate())>365
      

  3.   

    SELECT DISTINCT DATEDIFF(DAY, MAX(b.体检日期), GETDATE()) AS 体检日期, a.姓名
    FROM Info_Emp a INNER JOIN
          Emp_CheckBody b ON a.员工编号 = b.员工编号
    WHERE (DATEDIFF(DAY, MAX(b.体检日期), GETDATE() > 365)
    GROUP BY a.姓名