两个字段:pweek 和 tempweekselect * from pager where pweek like ?上面查询有没有办法先判断tempweek>0  where就取 pweek like ?否则就是where tempweek like ?

解决方案 »

  1.   

    select *
    from pager
    where if(tempweek>0,instr(pweek,'xx'),instr(tempweek,'xx'))
      

  2.   

    select * from pager where if(tempweek>0,pweek, tempweek)  like ?
      

  3.   

    表中数据:
    pweek  tempWeek
    135       1
    135       1
    135       0
    2         0
    2         0
    4         0当tempWeek字段没有任何一条记录>0时select * from page where pweek like '%1%'
    否则select * from page where tempWeek like '%1%'
      

  4.   

    select 
    from pager
    where if((select max(1) from pager where tempWeek>0)=1,tempWeek,pweek) like '%1%'