A表:a1(key),a2(key),a3(key),a4,a5
B表:b1(key),b2(key),b3(key),b4,b5
在两个表left join的时候,想要做到A表和B表的主键的值是一样的话,不显示:
a1=b1,a2=b2,a3=b3的话,
那么显示结果是:
a1,a2,a3,a4,a5
  ,  ,  ,b4,b5请问,怎么写这个SQL呀?谢谢~~

解决方案 »

  1.   

    nobody knows?
    select distinct(a.a1),distinct(a.a2),distinct(a.a3),a.a4,b.b4,b.b5 from A a left join B b on a.a1 = b.b1 and a.a2 = b.b2 and a.a3 = b.b3 where a.a1 = 'XXXX' order by a.a4 ASCis it right?
    waiting for your reply.
    thanks a lot.
      

  2.   

    select a1,a2,a3,a4,a5 ,b1,b2,b3,b4,b5
     from a left join b on a1=b1,a2=b2,a3=b3
    where b1 is null or b2 is null or b3 is null
      

  3.   

    楼上误会。我昨天晚上输入法不好用了。着急,就写了E问。
    我要的结果也不是这个。
    ------------------------------------------------
    A表:a1(key),a2(key),a3(key),a4,a5
    B表:b1(key),b2(key),b3(key),b4,b5
    A表数据:1,2,3,4,5
    B表数据:1,2,3,6,7最后结果:
    1,2,3,4,5
     , , ,6,7
      

  4.   

    select a1,a2,a3,a4,a5 ,'','','',b4,b5 
    from a left join b on a1=b1,a2=b2,a3=b3 这不就行了么!