有A,B二表
如表A
编号  姓名
1     张三
2     李四
表B
编号  姓名  上班时间
1     张三   9点
2     李四   8点 
3     张三   10点结果如下
编号   姓名   上班时间
1      张三   10点
2      李四   8点
即A表连到B表中最新的一条记录。

解决方案 »

  1.   

    select a.编号,a.姓名,b.上班点 
    from a join (select 姓名,MAX(编号) from b group by 姓名) on a.姓名=b.姓名
      

  2.   

    select a.编号,a.姓名,b.上班点 
    from a join (select 姓名,MAX(编号) from b group by 姓名)b on a.姓名=b.姓名
      

  3.   


    SELECT A.编号 姓名 上班时间
    FROM A INNER JOIN B ON A.姓名 = B.姓名 AND B.编号 = (SELECT MAX(编号) FROM B WHERE 姓名 = A.姓名)
      

  4.   

    select b1.*
    from b b1
    where not exists (
     select 1
     from b
     where 姓名 = b1.姓名
     and 上班时间 > b1.上班时间
     )
      

  5.   


    SELECT 
        A.ID,B.NAME,CONVERT(CHAR(19),MAX(B.WORK_TIME),20)
    FROM A
    INNER JOIN B
    ON A.NAME=B.NAME
    GROUP BY A.ID,B.NAME