yhxx 表(用户信息表)ywbh     hm    zz         bz 
1       张三   济钢      J20503C16584
2       李四   华新      J2.5右表2541C
3       李六   济水苑    J2.5左表36541
4       王麻子 祥和      J2.5右26541
5       洪七公 祥和家园  J2.587696hbjl 表(换表记录表)ywbh    bzm   rq                      czy
1       235   2006-05-09               004
1       369   2006-09-14               006
2       365   1999-06-01               004
2       123   2006-02-01               005
4       364   2005-01-01               001
5       100   2006-09-19               003要求:
 查找yhxx中的所有信息,如果换表次数超过1次,则只显示最后一次的换表,得到如下的结果ywbh    hm     zz        bz                   bzm     rq 
1       张三   济钢      J20503C16584         369    2006-09-14
2       李四   华新      J2.5右表2541C        123    2006-02-01
3       李六   济水苑    J2.5左表36541        Null   Null
4       王麻子 祥和      J2.5右26541          364    2005-01-01
5       洪七公 祥和家园  J2.587696            100    2006-09-19小弟多谢了!

解决方案 »

  1.   

    select a.*,b.bzm,b.rq                      
    from yhxx a left join hbjl b
    on a.ywbh=b.ywbh
    and b.rq=(select max(rq) from hbjl where ywbh=b.ywbh)
      

  2.   

    select a.ywbh,a.hm,a.zz,a.bz,b.bzm,b.rq
    from yhxx a 
    left join
    (select ywbh,max(bzm) as bzm,max(rq) as rq from hbjl group by ywbh) b
    on a.ywbh = b.ywbh
      

  3.   

    楼上:
      你的结果应该(没测试)是:ywbh    hm     zz        bz                   bzm     rq 
    1       张三   济钢      J20503C16584         369    2006-09-14
    2       李四   华新      J2.5右表2541C        365    2006-02-01      --这行bzm错了
    3       李六   济水苑    J2.5左表36541        Null   Null
    4       王麻子 祥和      J2.5右26541          364    2005-01-01
    5       洪七公 祥和家园  J2.587696            100    2006-09-19
      

  4.   

    select
        a.*,b.bzm,b.rq
    from
        yhxx a
    left join
        hbjl b
    on
        a.ywbh=b.ywbh 
        and 
        not exists(select 1 from hbjl where ywbh=b.ywbh and rq>b.rq)
      

  5.   

    的确如rea1gz(冒牌realgz V0.3)朋友所指正的,我回复的代码不能定位日期最大的行,多谢rea1gz朋友的指正.请楼主参考一楼和楼上的方法.
      

  6.   

    谢谢各位,
    rea1gz(冒牌realgz V0.3) 非常正确
    hellowork(一两清风)的,对日期没有什么影响吧,bzm字段我不要的谢谢!
      

  7.   

    SELECT *,
    (select bzm from hbjl where hbjl.ywbh=hbjl.ywbh and rq_=(select max(rq) from hbjl where hbjl.ywbh=hbjl.ywbh )  ),
    (select max(rq)from hbjl where hbjl.ywbh=hbjl.ywbh)
    from yhxx
      

  8.   

    libin_ftsafe(子陌红尘:当libin告别ftsafe)   对不起,我没有测试直接给分了,后来发现是正确的,不好意思!ntx001(grrrr) 谢谢你的关心,不过来的有点晚了,谢谢!