select *,(select nick from cy_member where id=uno) as uno_name,(select name from cy_works_kind where id=kind_id) as kind_id_name from cy_works where 1=1 order by id desc limit 0,10 我想判断uno_name 这个字段,提示出错
这个表是会员和积分表
该怎么使用条件

解决方案 »

  1.   

    select *,(select nick from cy_member where id=A.uno) as uno_name,(select name from cy_works_kind where id=A.kind_id) as kind_id_name 
    from cy_works A
    where 1=1 
    order by id desc limit 0,10
      

  2.   

    Select * from (select *,(select nick from cy_member where id=uno) as uno_name,(select name from cy_works_kind where id=kind_id) as kind_id_name from cy_works where 1=1 order by id desc limit 0,10  ) t where uno_name=’aaaaa’
      

  3.   

    where 1=1 
    什么意思
      

  4.   

    as是给重新一个列重新命名,但是where条件时是不认识的,所以要先查出来,然后用having字句实现条件过滤,用下面的试一下
    select *,(select nick from cy_member where id=uno) as uno_name,(select name from cy_works_kind where id=kind_id) as kind_id_name from cy_works having uno_name=过滤条件 order by id desc limit 0,10