如何在一个表中,实现多个关键字的高级查询

解决方案 »

  1.   

    select * from tb where (线路=patindex('beijing',线路)>0)
                           or (线路=patindex('上海',线路)>0)
    ,...........
      

  2.   

    select * from tb 
    where charindex('bejing',线路)>0 and
          charindex('shanghai',线路)>0 and
          charindex('xian',线路)>0 
          and  ......    ---一样的
      

  3.   

    declare @s varchar(500)
    set @s='beijing,shanghai....'
    select * from tb where charindex(','+@s+',',','+城市+',')>0
      

  4.   

    select 
      * 
    from 
       tb 
    where 
      charindex('bejing',线路)>0 or
      charindex('shanghai',线路)>0 or
      charindex('xian',线路)>0
    ..
      

  5.   

    我要实现的大概意思是如下:
    select * from 旅游表 where 旅游分类=1 and 天数  >10 and (线路+天数+价格) like '%关键字%' and 线路='多个城市'
      

  6.   


    用in
    select * from 旅游表 where 旅游分类=1 and 天数  >10 and (线路+天数+价格) like '%关键字%' and 线路 in ('beijing,shanghai...')
      

  7.   

    fredrickhu 你说如何实现比较好,主要是选取的多个城市,能在线路字段里匹配出来,还有天数的范围
      

  8.   

    就是把你要的城市存储为字符串 然后读取的时候用in  或者charindex来做