select * from da_files where  Bsfl_ID= '66' or  Bsfl_ID= '105' and files_Gjc like'%优惠措施%' order  by files_scsj desc上面是我写的,但是无法筛选出这个优惠措施,我希望得到的结果是首先根据Bsfl_ID的值确定一个大的数据范围,然后再根据后面的条件多这些大的数据范围在筛选。期待各位兄弟给出答案

解决方案 »

  1.   

    select * from da_files where  (Bsfl_ID= '66' or  Bsfl_ID= '105') and files_Gjc like'%优惠措施%' order  by files_scsj desc 
      

  2.   


    select * from da_files a  where  exists 
        select * from  a where  
         Bsfl_ID= '66' or  Bsfl_ID= '105') 
    where  a. files_Gjc like'%优惠措施%' order  by files_scsj desc --------?
      

  3.   

    select * from da_files where  (Bsfl_ID= '66' or  Bsfl_ID= '105') and files_Gjc like'%优惠措施%' order  by files_scsj desc 拷贝一下,哈
      

  4.   

    and 优先级要高于or 所以先运算and再运算or
    所以应该加括号。
      

  5.   

    select * from da_files where (Bsfl_ID= '66' or Bsfl_ID= '105') and files_Gjc like'%优惠措施%' order by files_scsj desc
      

  6.   

     and优先级比较高的~把OR运算括起来就可以了