b中没有memo='ww'的数据,怎么连接a、b?

解决方案 »

  1.   

    select a.member,a.value,b.memo from a left join b on a.member=b.member where b.memo='ww'
      

  2.   

    回lucky_boy18() :你写的语句和我的一样啊
    回wasuka(迦罗娜:潜行的诡计与研究): 我用using(member)来连接2个表,如果b表中没有满足where条件的记录,那不是应该显示为null吗?表a的字段应该全部显示才对啊?
      

  3.   

    我希望即使b表没有符合条件的记录,结果应该显示成:字段:member,value,memo
    值:   li     2    
           wang   3
           mao    4
    -------------------
    很难达到吗?谢谢!
      

  4.   

    你看了没有,有没有执行过,你那个member会报错的
    lucky_boy18() 已经给出了 不过应该是 b.member=a.member  where a.memo='ww'
      

  5.   

    我改成on b.member=a.member  where a.memo='ww',结果什么都没有
    如果我把条件改成 where b.memo='yy',它就只显示一条记录
    即:
    member,value,memo
     wang    3    yy而我需要的是,即使有部分满足,也应该显示为:
    member,value,memo
     li     2     
     wang   3    yy
     mao    4
      

  6.   

    既然限制了where,又怎么能让没有结果的东西显示出来呢?除非去掉限制。
      

  7.   

    你的要求似乎和memo='ww'的条件一点关系也没有
      

  8.   

    select a.member,a.value,b.memo from a left join b on b.member=a.member
      

  9.   

    那是不是说如果要达到我的这种要求,就只有不写where条件?或者写成2条sql语句?
      

  10.   

    select a.member, a.value, if(b.memo='yy','yy','') as memo
     from a left join b
       on a.member=b.member或者select a.member, a.value, ifnull(x.memo,'',x.memo) as memo
     from a left join 
      ( select * from b where memo='yy' )  x
      on a.member=x.member
     
     
      
      

  11.   

    那如果表a结构不变,表b结构如下:
    字段:member,memo,phone, color
    值:    li     xx    111    red
            wang   yy    222    blue
            mao    zz    333    red条件改为color="red",无论b表满足与否,a表的member字段,b表的memo和phone字段都要显示,sql语句该怎么写?
    谢谢!
      

  12.   

    即显示结果要求这样:字段: member, value, memo, phone
    值:     li      2     xx     111
             wang    3         
             mao     4     zz     333
      

  13.   

    不是一样吗?select a.member, a.value, 
           ifnull(x.memo,'',x.memo) as memo, ifnull(x.phone,'',x.phone)
     from a left join 
      ( select * from b where color='red' )  x
      on a.member=x.member
      

  14.   

    select a1.member,a1.value,b1.memo from a a1 left join b b1 using(member) on b1.memo='ww'这样行不行?where好像要去找对应的值,on好像是去找对应的行。
      

  15.   

    如果不行,这样试试
    select a1.member,a1.value,b1.memo from a a1 left join b b1 using(member) on a1.memo='ww'