如图所示,我随便输入一个名称,点击查询的时候,就要同时模糊查询一个表中的至少3个字段以上,请问,最优的写法是什么呢?

解决方案 »

  1.   

    where field1 like '%小王%' or field2 like '%小王%'...
      

  2.   

    select * from tb where col1 like '%小王%'
    union all
    select * from tb where col2 like '%小王%'
    union all
    select * from tb where col3 like '%小王%'
      

  3.   

    字段不多的话,就一个一个写吧!不是太麻烦的...如果字段上百个,那只好用 isnull 创建查询条件了!
      

  4.   


    SELECT * FROM TABLE1
    WHERE
    CASE WHEN COLUMN1 like '%小王%' THEN 1
    ELSE
    (CASE WHEN COLUMN2 like '%小王%' THEN 1
    ELSE
    (CASE WHEN COLUMN3 like '%小王%' THEN 1 ELSE 0 END)
    END)
    END =1
      

  5.   

    http://blog.csdn.net/envykok/archive/2010/05/05/5560026.aspx