我做了个表连接,但是我用like 字段告诉别名name  like错误!应该怎么用!SELECT if( isnull( b.a_id ) , a.name, b.name ) AS name FROM a
LEFT JOIN b ON a.id = b.a_id where name like 'aa'请各位师哥代码明示!谢谢各位师哥!

解决方案 »

  1.   

    要指明 NAME是哪个表的
    name like 'aa' ->a.name like 'aa%' 
    or
    b.name like '%aa%' 
      

  2.   

    as 出来的字段是不能用在where中
      

  3.   

    SELECT if( isnull( b.a_id ) , a.name, b.name ) AS name FROM a
    LEFT JOIN b ON a.id = b.a_id where 
    if( isnull( b.a_id ) , a.name, b.name ) like 'aa'
    or
    select * from (
    SELECT if( isnull( b.a_id ) , a.name, b.name ) AS name FROM a
    LEFT JOIN b ON a.id = b.a_id) a where name like 'aa' 
      

  4.   

    select name from (SELECT if( isnull( b.a_id ) , a.name, b.name ) AS name FROM a 
    LEFT JOIN b ON a.id = b.a_id ) a where name like 'aa'
      

  5.   

    select name from (SELECT if( isnull( b.a_id ) , a.name, b.name ) AS name FROM a 
    LEFT JOIN b ON a.id = b.a_id ) a where name like 'aa'
      

  6.   

    把where后面的name字段加上相应的别名试试