各位高人
A表
lsh
zd
sx
B表
lsh
sfxm
tsA 表
同一lsh有多条记录B 表
同一lsh也有多条记录select distinct(a.lsh),a.zd from a, b where a.lsh=b.lsh(+) and a.sx='3' and b.lsh like'2011%'
这样查出来有重复的lsh,现在想查出来的结果只显示唯一一个lsh的纪录,请问如何处理?

解决方案 »

  1.   

    (1) 你的lsh字段有空格
    (2) distinct(a.lsh),a.zd 这里你distinct的两个字段,表示两个字段在一起没有重复的,lsh该字段是可以重复的,可以改成 distinct a.lsh
      

  2.   

    lsh重复,但其它列值不重复,亦即记录不重复,你只需要其中任意一条?
      

  3.   

    对,我只需要其中任相同lsh任一条记录
      

  4.   

    1.lsh字段是没有空格的,可以确定
    2.我查询记录除lsh还要显示其他字段
      

  5.   


    select a.lsh,max(a.zd) from a, b where a.lsh=b.lsh(+) and a.sx='3' and b.lsh like'2011%'
    group by a.lsh
      

  6.   

    6楼正解,对lsh分组,再用max或min选出一条。
      

  7.   

    不过现在不提倡6楼那种用+来表示的outer连接了。请写明式outer连接。如left outer join