查询表一:   员工     日期        所在城市 
    A     2008-8-1     厦门    
    A     2008-7-1     杭州    
    B     2008-7-21    福州    
    B     2008-6-1     泉州 如何查询出员工最近所在城市
结果如:
   员工     日期        所在城市 
    A     2008-8-1     厦门      
    B     2008-7-21    福州    
 

解决方案 »

  1.   

    怎么叫最近?给一个时间范围?select employeeID, sdate,location from tb1 where datediff('d',sdate,getdate())<=20
    这个是查找员工最近20所在城市
      

  2.   

    select * from 表一 a where 日期=(select max(日期)from 表一 b where a.员工=b.员工)
      

  3.   

    select 员工.NAME,记录.* from 员工 LEFT JOIN 记录 ON 员工.员工ID=记录.员工ID
    WHERE 记录.日期=(select max(日期)from 记录 b where 记录.员工ID=b.员工ID)
      
      

  4.   

    select * 
    fom 表一 a 
        ,(select 员工,max(日期) 日期
           from 表一
          group by 员工
         ) b
    where a.员工=b.员工
      and a.日期=b.日期
      

  5.   

    select a.* 
    fom 表一 a 
        ,(select 员工,max(日期) 日期 
          from 表一 
          group by 员工 
        ) b 
    where a.员工=b.员工 
      and a.日期=b.日期
      

  6.   

    select top 20 a.* 
    fom 表一 a 
        ,(select 员工,max(日期) 日期 
          from 表一 
          group by 员工 
        ) b 
    where a.员工=b.员工 
      and a.日期=b.日期
    order by  a.日期 desc