不要用左联接,这样试试:
SELECT distinct A.a,A.b,A.c,A.d,B.g,B.h
FROM  A ,B 
where A.a=B.e and A.b > '02-05-20'

解决方案 »

  1.   

    SELECT c.a,c.b,c.c,c.d,B.g,B.h from
    (
    SELECT distinct a,b,c,d       FROM  A where b > '02-05-20') c left outer join B on (c.a=B.e)
      

  2.   

    我觉得如果不损失B、C、D的情况下是行不通的。Yang_(扬帆破浪) 的
    SELECT distinct a,b,c,d       FROM  A where b > '02-05-20'
    实际还是没有使A唯一
      

  3.   

    哦,是呀!SELECT c.a,c.b,c.c,c.d,B.g,B.h from
    (
    SELECT a,min(b) as b,min(c) as c,min(d) as d FROM  A where b > '02-05-20' group by a) c left outer join B on (c.a=B.e)
      

  4.   

    Distinct的作用是使数据集没有完全重复,不可区分的数据,你想要什么样的呢?